使用数据透视表可以将列基于两个值(在我的示例中为'code'和'val')?从它的外观你不能,但这似乎有点限制我,所以也许我只是误解了一些东西。例如,如果我的数据表如下所示:
代码VAL总
---- --- -----
SI 12 90个
SI 12 30个
SI 24 240个
CI 12 210
我想要的输出是:
SI12 SI24 CI12
---- ---- ----
120 240 210
如果有人能告诉我如何使用数据透视表或其他方法来解决这个问题,我会很感激吗?
答案 0 :(得分:0)
试试这个,
DECLARE @mytable TABLE
(
code VARCHAR(2),
val INT,
total INT
)
INSERT INTO @mytable
VALUES ('SI',
12,
90),
('SI',
12,
30),
('SI',
24,
240),
('CI',
12,
210)
SELECT *
FROM @mytable
SELECT *
FROM (SELECT code + CONVERT(VARCHAR(2), VAL) VAL,
total
FROM @mytable) T
PIVOT(sum(total)
FOR VAL IN ([SI12],
[SI24],
[CI12])) AS PIVOTTABLE