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 行: ')' 附近有语法错误。

解决方案 »

  1.   


    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
      

  2.   


    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
      

  3.   

    TO:liangCK
    (小梁爱兰儿..只爱兰.!❤)
    多谢多谢,真是太不应该了.谢谢.
      

  4.   


    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)不知道你要什么样的结果