我说说我自己的做法,以供参考
我是处理表的数据,重新生成临时表,然后临时表的数据分组,显示DETAIL就可以得到所希望的格式
临时表代码如下:
SELECT 公司,部门,产品,MAX(CASE WHEN 成本种类=实际 then 费用 else 0 end) AS A,
MAX(CASE WHEN 成本种类=标准 then 费用 else 0 end) AS B,
(MAX(CASE WHEN 成本种类=实际 then 费用 else 0 end)-MAX(CASE WHEN 成本种类=标准 then 费用 else 0 end)) AS B
.....
FROM TABLE WHERE 费用种类=jj
GROUP BY 公司,部门,产品
UNION
SELECT 公司,部门,产品,MAX(CASE WHEN 成本种类=实际 then 费用 else 0 end) AS A,
MAX(CASE WHEN 成本种类=标准 then 费用 else 0 end) AS B,
(MAX(CASE WHEN 成本种类=实际 then 费用 else 0 end)-MAX(CASE WHEN 成本种类=标准 then 费用 else 0 end)) AS B
.....
FROM TABLE WHERE 费用种类=RL
GROUP BY 公司,部门,产品
.
.
.