??如何只要一个函数,就返回结果集 ??
传入参数diqu,niandu,
表T1
diqu jine1 jine2 riqi flag
北京 100 50 2010-01-10 1
北京 100 30 2010-05-10 1
上海 80 10 2010-01-10 1
上海 200 80 2010-05-10 0
上海 40 20 2010-07-10 1
北京 70 30 2011-01-10 1
如给定diqu参数为全部,niandu参数为2009, 2010, 2011 则统计结果如下:
其中jine1为flag=1的该年度jine1的总和,jine2也相同,1月~12月指此年度该月jine1的合计数,月以riqi判断
diqu niandu jine1 jine2 1月 2月 3月 4月 5月 6月 7月 8月 9月 10月 11月 12月
全部 2009 0 0 0 0 0 0 0 0 0 0 0 0 0 0
全部 2010 320 110 180 0 0 0 100 0 40 0 0 0 0 0
全部 2011 70 30 70 0 0 0 0 0 0 0 0 0 0 0
如给定diqu参数为北京,niandu参数为2009, 2010, 2011 则统计结果如下:
diqu niandu jine1 jine2 1月 2月 3月 4月 5月 6月 7月 8月 9月 10月 11月 12月
北京 2009 0 0 0 0 0 0 0 0 0 0 0 0 0 0
北京 2010 200 80 100 0 0 0 100 0 0 0 0 0 0 0
北京 2011 70 30 70 0 0 0 0 0 0 0 0 0 0 0
请问如何根据传入参数,类似(2009,2010,2011; 全部)自动生成上表?
------------------------------------------------
以下是可以统计出diqu为全部结果的SQL,但diqu给定为北京,统计的结果就不对,如何修改下面的SQL,使只调用一次函数,大致用法如下
Select * from dbo.f_Split('全部','2009,2010,2011'),或
Select * from dbo.f_Split('北京','2009,2010,2011') 就能得到上面列出的结果集,选定年度如2009年如没数据也要用0显示出来,一定要一次函数就能生成结果集(要用SQL2000数据库实现)
cre