if object_id('dest1') is not null
drop table dest1declare @yf1 varchar(7)
declare @yf2 varchar(7)
declare @yf3 varchar(7)
declare @sqlstr Nvarchar(4000)
set @yf1='2012-07'
set @yf2='2012-08'
set @yf3='2012-09'set @sqlstr='select * into dest1 from (select 部品品番,供应商名称,sum(case 月份 when '''+ @yf1 + '''then 部品数量 else 0 end) '''+ @yf1 +'''
,sum(case 月份 when '''+ @yf2 + '''then 部品数量 else 0 end) '''+ @yf2 +'''
,sum(case 月份 when '''+ @yf3 + '''then 部品数量 else 0 end) '''+ @yf3 +'''
from dest group by 部品品番,供应商名称)'
select @sqlstr
exec(@sqlstr)/*-----------------------------
if object_id('dest1') is not null
drop table dest1declare @yf1 varchar(7)
-----------------------------*/(所影响的行数为 1 行)服务器: 消息 170,级别 15,状态 1,行 4
第 4 行: ')' 附近有语法错误。
create table dest(部品品番 char(1),供应商名称 char(1),月份 char(7))
insert into dest values('1','1','2012-07')
insert into dest values('2','2','2012-07')
insert into dest values('3','1','2012-07')
insert into dest values('4','2','2012-07')
insert into dest values('5','1','2012-07')
insert into dest values('1','1','2012-08')
insert into dest values('2','2','2012-08')
insert into dest values('3','1','2012-08')
insert into dest values('4','2','2012-08')
insert into dest values('5','1','2012-08')
insert into dest values('1','1','2012-09')
insert into dest values('2','2','2012-09')
insert into dest values('3','1','2012-09')
insert into dest values('4','2','2012-09')
insert into dest values('5','1','2012-09')
select * from dest
create table dest(部品品番 char(1),供应商名称 char(1),月份 char(7))
insert into dest values('1','1','2012-07')
insert into dest values('2','2','2012-07')
insert into dest values('3','1','2012-07')
insert into dest values('4','2','2012-07')
insert into dest values('5','1','2012-07')
insert into dest values('1','1','2012-08')
insert into dest values('2','2','2012-08')
insert into dest values('3','1','2012-08')
insert into dest values('4','2','2012-08')
insert into dest values('5','1','2012-08')
insert into dest values('1','1','2012-09')
insert into dest values('2','2','2012-09')
insert into dest values('3','1','2012-09')
insert into dest values('4','2','2012-09')
insert into dest values('5','1','2012-09')
select * from dest
(小梁爱兰儿..只爱兰.!❤)
多谢多谢,真是太不应该了.谢谢.
declare @yf1 varchar(7)
declare @yf2 varchar(7)
declare @yf3 varchar(7)
declare @sqlstr Nvarchar(4000)
set @yf1='2012-07'
set @yf2='2012-08'
set @yf3='2012-09'set @sqlstr='select * into dest1 from (select 部品品番,供应商名称,sum(case 月份 when '''+ @yf1 + '''then 部品品番 else 0 end) '''+ @yf1 +'''
,sum(case 月份 when '''+ @yf2 + '''then 部品品番 else 0 end) '''+ @yf2 +'''
,sum(case 月份 when '''+ @yf3 + '''then 部品品番 else 0 end) '''+ @yf3 +'''
from dest group by 部品品番,供应商名称)a'exec(@sqlstr)不知道你要什么样的结果