日期:2014-05-18  浏览次数:20509 次

SQL里行变列的问题。
如下表TABLE
A B C
1 0 AA
2 1 BB
3 0 CC 
1 1 AAA
2 0 BBB
3 1 CCC
2 1 FF
1 0 GG
变成
AA AAA BBB BB CC CCC 
GG NULL NULL FF NULL NULL
可能有点难懂是吧。我写一下怎么分组。
按A列和B列分组。
A为1 B为0的在第一列。A为1 B为1 的在第二列。A为2 B列为0的在第三列。以此类推。
要求有数据的项在最上面。意思就是在上方不能出现NULL

------解决方案--------------------
SQL code

case when a=1 and b=0 then c
when a=1 and b=1 then c
...
end