动态SQL里面变量代替字符串问题
战斗牙刷 2018-06-21 11:33:38 我想做一个将表横列变成纵列的过程,原始表格式tb1(进度1,进度2,进度3分别代表1日,2日,3日 )如下:
铸件号 进度1 进度2 进度3
AAAA 50 100 200
BBBB 10 20 30
……………………
想变成tb2纵向模式
铸件号 日期 日数量
AAAA 进度1 50
AAAA 进度2 100
AAAA 进度3 200
BBBB 进度1 10
BBBB 进度2 20
BBBB 进度3 30
…………………………
现使用的动态SQL语句如下:
declare @zd varchar(10),@zzdd varchar(10),@str varchar(100)
set @zd='进度1'
set @str='select 铸件号,日期=@zd,日数量='+@zd+' from tqf_生产定单计划'
exec(@str)
问题:总是不明白 日期=@zd 传成 日期='进度1' 这一步怎么完成,无法达到生成tb2的效果 ,后面那个 日数量=进度1 可以正常实现取对应铸件号进度1的数量