日期:2014-05-16  浏览次数:20834 次

求一sql,
有一个表t,
列有dw,type, num  
即单位,类别,数值
值如
单位1,报纸,2
单位1,书籍,4
单位2,报纸,1
单位2,书籍,5
单位1,像册,10
单位1,报纸,1

我怎么才能让数据显示成这种样式?

单位  报纸 书籍 像册 
 
单位1, 3 4 10
单位2, 1 5 0




------解决方案--------------------
TRANSFORM sum(t.[num]) AS 合计
SELECT t.[dw] AS 单位, sum(t.[num]) AS 总计
FROM t
GROUP BY t.[dw]
PIVOT t.[type]
------解决方案--------------------
TRANSFORM Sum(t.[num]) AS 合计
SELECT t.[dw]
FROM t
GROUP BY t.[dw]
PIVOT t.[type]

上面那条多了合计列,这个去掉了
------解决方案--------------------
在ACCESS中可以直接使用交叉查询向导生成如下语句。

SQL code
TRANSFORM Sum(num)
SELECT dw
FROM t
GROUP BY dw
PIVOT [type]

------解决方案--------------------
用 TRANSFORM即可
TRANSFORM Sum([num])
SELECT dw
FROM tt GROUP BY dw PIVOT [type]