标题:版主请帮帮忙解决一下这条SQL语句出错问题 好吗?
只看楼主
zmp3000
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2012-6-9
结帖率:0
已结贴  问题点数:20 回复次数:3 
版主请帮帮忙解决一下这条SQL语句出错问题 好吗?
declare @sql varchar(8000),@PO VARCHAR(30)set @PO='00733651941'
SET @sql='select 箱号ID as ID,箱号,'select @sql=@sql+'sum(case 尺码 when '''+尺码+''' then 件数 else 0 end)as '''+尺码+''','
from (select distinct convert(int,尺码)as 尺码 from WG_PK_Z where Pk_No='00733651941')as a select @sql = left(@sql,len(@sql)-1) + ' from WG_PK_Z Where Pk_No='+''''+@PO+''''+' group by 箱号ID,箱号'exec(@sql)


错误提示如下:服务器: 消息 245,级别 16,状态 1,行 2
将 varchar 值 '' then 件数 else 0 end)as '' 转换为数据类型为 int 的列时发生语法错误。
搜索更多相关主题的帖子: sql convert where 
2012-07-03 10:24
yms123
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:209
帖 子:12488
专家分:19042
注 册:2004-7-17
得分:10 
个人感觉是单双引号的问题,检查一下单双引号
2012-07-06 09:36
zmp3000
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2012-6-9
得分:0 
回复 2楼 yms123
如果不将尺码转换为整数型就不会出错,即如:select distinct convert(int,尺码)as 尺码 FROM WG_PK_Z WHERE PK_NO='00733651941'更改为:select distinct 尺码 FROM WG_PK_Z WHERE PK_NO='00733651941'这样就不会出错,不知为何!请高手指教
2012-07-09 10:39
zqfhgsww
Rank: 2
等 级:论坛游民
帖 子:2
专家分:10
注 册:2012-6-15
得分:10 
我感觉二楼说的对
2012-07-09 16:30



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-372696-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.468950 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved