这个SQL语句提示错误
declare @s varchar(8000),@i int
set @s=''
set @i=1
while @i<=31
begin
set @s=@s+',['+cast(@i as varchar(2))+']=sum(case when day(billdate)='+cast(@i as varchar(2))+ then quantity else 0 end)'
set @i=@i+1
end
set @s='select goodsno'+@s+' from 结果 group by goodsno'
exec(@s)
---表名是结果,有goodsno 商品代码,billdate日期
执行时候提示
服务器: 消息 156,级别 15,状态 1,行 7
在关键字 'then' 附近有语法错误。
服务器: 消息 105,级别 15,状态 1,行 11
字符串 '
exec(@s)
' 之前有未闭合的引号。
问题点数:20、回复次数:3Top
1 楼aw511(点点星灯)回复于 2005-12-09 20:33:42 得分 20
declare @s varchar(8000),@i int
set @s=''
set @i=1
while @i<=31
begin
set @s=@s+',['+cast(@i as varchar(2))+']=sum(case when day(billdate)='+cast(@i as varchar(2))+ 'then quantity else 0 end)'
set @i=@i+1
end
set @s='select goodsno'+@s+' from 结果 group by goodsno'
print @s
exec(@s)Top
2 楼aw511(点点星灯)回复于 2005-12-09 20:34:55 得分 0
declare @s varchar(8000),@i int
set @s=''
set @i=1
while @i<=31
begin
set @s=@s+',['+cast(@i as varchar(2))+']=sum(case when day(billdate)='+cast(@i as varchar(2))+ ' then quantity else 0 end)'
set @i=@i+1
end
set @s='select goodsno'+@s+' from 结果 group by goodsno'
print @s
exec(@s)
Top
3 楼ccty3239968(陈)回复于 2005-12-09 20:37:45 得分 0
谢谢,结贴.给分.Top




