我有两张表,一张是MyCustom 里面有三个字段(MyArea、MyYM、MyMoney)另一张是MyDay只有一个字段(MyYearMonth)
在MyCustom 里查出来结果如下
MyArea MyYM MyMoney
1 200909 10
1 201001 8
1 201002 7
2 200909 11
2 201001 9
2 201002 8
3 200909 12
3 201001 10
3 201002 9
在MyDay里查出来结果如下
MyYearMonth
200903
200904
200905
200906
200907
200908
200909
200910
200911
200912
201001
201002
现在我想查出这样的结果出来:
MyArea 200903  200904   200905   200906   200907   200908     200909   200910  200911   200912   201001 201002
1 0 0 0 0 0 0 10 0 0 0 8      7
2 0 0 0 0 0 0 11 0 0 0 9      8
3 0 0 0 0 0 0 12 0 0 0 10     9sql如下:
declare @sql varchar(8000)
set @sql = 'select MyArea,'
select @sql =@sql  +'sum(case MyYM when '''+MyYearMonth+''' 
then MyMoney else 0 end) as '''+MyYearMonth+''','
from MyDay
select @sql = left(@sql,len(@sql)-1) + ' from MyCustom group by MyArea '
exec(@sql)
我想问下谁能把它写成不带参数的SQL?
就像这样:select .....from.....left join ...group by....