如何将多行数据合并成一行多列(不用存储过程)
数据:
objid date value type
01 2010-01-01 100 1
01 2010-01-01 200 2
01 2010-01-01 300 3
合并后的效果应如下:
objid date value1 value2 value3
01 2010-01-01 100 200 300
------解决方案--------------------------------------------------------
SELECT objid,date,SUM(CASE WHEN TYPE=1 THEN VALUE ELSE 0 END) AS VALUE1,
SUM(CASE WHEN TYPE=2 THEN VALUE ELSE 0 END) AS VALUE2,
SUM(CASE WHEN TYPE=3 THEN VALUE ELSE 0 END) AS VALUE3
FROM TT
GROUP BY objid,date