一个经典的报表sql提问 大虾们请进来看看

demiwolf 2009-05-11 04:15:09
select @sql=@sql+'SUM(CASE WHEN dateadd(month,'+@monthspan +',a.ser_start_date)>= '''+@year+'-01-01'''+' and dateadd(month,'+@monthspan +',a.ser_start_date)< '''+@year+'-02-01'''+' then 1 else 0 end) AS '''+ @year+'01' +''','
+ 'SUM(CASE WHEN dateadd(month,'+@monthspan +',a.ser_start_date)>= '''+@year+'-02-01'''+' and dateadd(month,'+@monthspan +',a.ser_start_date)< '''+@year+'-03-01'''+' then 1 else 0 end) AS '''+ @year+'02' +''','
+ 'SUM(CASE WHEN dateadd(month,'+@monthspan +',a.ser_start_date)>= '''+@year+'-03-01'''+' and dateadd(month,'+@monthspan +',a.ser_start_date)< '''+@year+'-04-01'''+' then 1 else 0 end) AS '''+ @year+'03' +''','
+ 'SUM(CASE WHEN dateadd(month,'+@monthspan +',a.ser_start_date)>= '''+@year+'-04-01'''+' and dateadd(month,'+@monthspan +',a.ser_start_date)< '''+@year+'-05-01'''+' then 1 else 0 end) AS '''+ @year+'04' +''','
+ 'SUM(CASE WHEN dateadd(month,'+@monthspan +',a.ser_start_date)>= '''+@year+'-05-01'''+' and dateadd(month,'+@monthspan +',a.ser_start_date)< '''+@year+'-06-01'''+' then 1 else 0 end) AS '''+ @year+'05' +''''

select @sql= @sql+' from object a '

提问:如果我要是在页面使用datagrid绑定,如何来用引用as后面的别名来进行字段绑定,请大虾们给个提示。因为现在这里用的是AS '''+ @year+'03' +'''这种方式。能否改变一下像as aa,这样我就可以在datagrid中直接用aa进行绑定了。
...全文
116 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
demiwolf 2009-05-11
  • 打赏
  • 举报
回复
如果直接进行绑定
那么AS '''+ @year+'02' +''','中间的@year这个和+‘aa’的一起作为datagrid的列表头吗?
yanleiyigan 2009-05-11
  • 打赏
  • 举报
回复
datagrid不要指定列,直接绑定数据源就行了。
SQL77 2009-05-11
  • 打赏
  • 举报
回复
不懂,帮顶
demiwolf 2009-05-11
  • 打赏
  • 举报
回复
那里的@year参数还是要使用的
否则我在页面也无法进行字段绑定
你这里的aa05我在页面上无法绑定啊
csdyyr 2009-05-11
  • 打赏
  • 举报
回复
+',a.ser_start_date) < '''+@year+'-06-01'''+' then 1 else 0 end) AS '''+'aa05' +''''

27,580

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧