我正试图解决这个问题,但遗憾的是我的方法都不奏效:
我需要一个包含3列的表格:
SELECT ItemID, Count1, Count2
FROM Table
输出应该是:
1 12 5
2 3 2
使用
时得到的结果 SELECT ItemdID, SUM(case when costc...),...
FROM Table
是:
1 12 0
2 3 0
由于GROUP BY语句。
无论如何在没有光标的情况下解决这个问题?
此外,还需要5个表的JOIN。
提前致谢!
答案 0 :(得分:0)
我不确定连接需要什么,但这是第一部分。
DECLARE @table TABLE(ItemID INT, CostCentreID CHAR(1));
INSERT INTO @table
VALUES (1,'X'),
(1,'X'),
(1,'Y'),
(2,'X'),
(2,'Y'),
(2,'Y'),
(2,'Y');
SELECT ItemID,
SUM(
CASE
WHEN CostCentreID = 'X' THEN 1 ELSE 0
END
) AS CostCentreX,
SUM(
CASE
WHEN CostCentreID = 'Y' THEN 1 ELSE 0
END
) AS CostCentreY
FROM @table
GROUP BY ItemID
结果:
ItemID CostCentreX CostCentreY
----------- ----------- -----------
1 2 1
2 1 3