sql转换问题
本帖最后由 xiongxing318 于 2014-03-10 15:48:58 编辑
我现在有数据表A
AppId Type Total Success time
8001 x 20 10 20140309
8001 y 5 3 20140309
8001 z 33 11 20140309
8002 x 0 0 20140310
8002 y 7 1 20140310
8002 z 12 11 20140310
我要变成表B
AppId xTotal xSuccess yTotal ySuccess zTotal zSuccess time
8001 20 10 5 3 33 11 20140309
8002 0 0 7 1 12 11 20140309
怎么做。。这貌似就是一个行转列把。但是纠结了很久还是没搞出来。。是sql2008
------解决方案--------------------select
AppId,
max(case when Type='x' then total else 0 end) as 'xTotal',
max(case when Type='x' then Success else 0 end) as 'xSuccess',
..
time
from
tb
group by
AppId,time
动态的交给楼下了