SQL 两个查询横向合并问题?

求教各位了,谢谢
有一个表 TA
年份 月份 收入 支出
1999 1 200 150
1999 2 300 250
1999 3 200 100
2000 1 500 150
2000 3 200 100
2000 2 300 50
1999 4 500 350
2000 4 700 350

要想生成表TB
月份 99收入 00收入 99年支出 00年支出
1 200 500 150 100
2 300 300 250 20
... ... .... ..... .....
原表比这个复杂,但原理一样,用两个查询合并后无法对应,如99年1月的收入,对的是00年2月的收入,不知道是哪里出了问题,该如何解决?谢谢.

个人觉得你的对应问题应该是分组的时候没分好
你可以用下面的语句试试,我没做测试不过应该差不多。
select 月份,max(case when 年份=1999 then 收入 end) 99收入,max(case when 年份=2000 then 收入 end) 00收入,max(case when 年份=1999 then 支出 end) 99支出,max(case when 年份=2000 then 支出 end) 00收入 from TA group by 月份,
温馨提示:内容为网友见解,仅供参考
第1个回答  2014-12-17
查查窗口函数应该可以的实现的,具体我也写不来
相似回答