Declare @sql varchar(8000)
Set @sql = 'Select MMITNO, MMITDS,BaoZhuan, KuWei'
Select @sql = @sql + ',sum(case TiaoJian when '''+TiaoJian+''' then MTTRQT else 0 end) ['+TiaoJian+']' from (select distinct TiaoJian from View_WHS) as View_WHS
Select @sql = @sql+' from View_WHS group by MMITNO,MMITDS,BaoZhuan, KuWei'print (@sql)
Set @sql = 'Select MMITNO, MMITDS,BaoZhuan, KuWei'
Select @sql = @sql + ',sum(case TiaoJian when '''+TiaoJian+''' then MTTRQT else 0 end) ['+TiaoJian+']' from (select distinct TiaoJian from View_WHS) as View_WHS
Select @sql = @sql+' from View_WHS group by MMITNO,MMITDS,BaoZhuan, KuWei'print (@sql)
Set @sql = N'Select MMITNO, MMITDS,BaoZhuan, KuWei'
Select @sql = @sql + N',sum(case TiaoJian when N'''+TiaoJian+''' then MTTRQT else 0 end) ['+TiaoJian+']' from (select distinct TiaoJian from View_WHS) as View_WHS
Select @sql = @sql+N' from View_WHS group by MMITNO,MMITDS,BaoZhuan, KuWei'print (@sql)
declare @tiaojian varchar(1000)
set @tiaojian = ''
Set @sql = 'Select MMITNO, MMITDS,BaoZhuan, KuWei'
Select @sql = @sql + ',sum(case TiaoJian when '''
+@TiaoJian
+''' then MTTRQT else 0 end) ['+@TiaoJian+'] from (select distinct TiaoJian from View_WHS) as View_WHS '
Select @sql = @sql+' from View_WHS group by MMITNO,MMITDS,BaoZhuan, KuWei'print (@sql)
数据库的数据是这样3EL419004 GF-12 / 28 20100327 AK-100325A 93.900000 一厂1号仓库 生产入库 无卡板/50kg编织袋(有内膜) YCCQ
这个TiaoJian是一个列名不可以定义为一个变量吧
Declare @sql varchar(8000)
Set @sql = 'Select MMITNO, MMITDS,BaoZhuan, KuWei'
Select @sql = @sql + ',sum(case TiaoJian when '''+TiaoJian+''' then MTTRQT else 0 end) ['+TiaoJian+']' from (select TiaoJian = N'中文') as View_WHS
Select @sql = @sql+' from View_WHS group by MMITNO,MMITDS,BaoZhuan, KuWei'
print (@sql)可以PRINT。LZ先确定一下select distinct TiaoJian from View_WHS的结果是什么?
LZ所说的“print不出来”,具体是什么现象?报错?print出为空?print出的结果不对?
print为空,单纯显示‘执行成功’,但是什么都没有,无论是print和exec都是显示‘执行成功’
Declare @sql nvarchar(4000)
Set @sql = 'Select MMITNO, MMITDS,BaoZhuan, KuWei'
Select @sql = @sql + ',sum(case TiaoJian when '''+TiaoJian+''' then MTTRQT else 0 end) ['+TiaoJian+']' from (select TiaoJian = N'中文') as View_WHS
Select @sql = @sql+' from View_WHS group by MMITNO,MMITDS,BaoZhuan, KuWei'
print (@sql)这个可以print出来
1 你没给 @sql赋初值
2 select distinct TiaoJian from View_WHS 这个结果有NULL
Set @sql = 'Select MMITNO, MMITDS,BaoZhuan, KuWei'
Select @sql = @sql + ',sum(case TiaoJian when '''+TiaoJian+''' then MTTRQT else 0 end) ['+TiaoJian+']'
from (select TiaoJian = N'中文' union all select null ) as View_WHS
Select @sql = @sql+' from View_WHS group by MMITNO,MMITDS,BaoZhuan, KuWei'
print (@sql)