create proc  Picc_09
AS
..
.
.
.
.
.

解决方案 »

  1.   

    create proc Picc_09 
    as
    begin
      declare @sql varchar(8000)
      set @sql='select 科室名称 ' 
      select @sql=@sql+' , sum(case when 险种='''+cast(险种 as varchar(26))+''' then 实收保费 else 0 end) 
      ['+cast(险种 as varchar(26))+']' 
      from (select distinct 险种 from BD_DATA)a 
      set @sql = @sql + 'from BD_DATA group by 科室名称 ' 
      exec(@sql)
    end
      

  2.   

    create proc Picc_09 
    as
    begin
      declare @sql varchar(8000)
      set @sql='select 科室名称 ' 
      select @sql=@sql+' , sum(case when 险种='''+cast(险种 as varchar(26))+''' then 实收保费 else 0 end) 
      ['+cast(险种 as varchar(26))+']' 
      from (select distinct 险种 from BD_DATA)a 
      set @sql = @sql + ' from BD_DATA group by 科室名称 ' 
      exec(@sql)
    end
      

  3.   

    create proc  Picc_09 
    as
    declare @sql varchar(8000)  --【--此处报“156”,在DEClare 附近语法错误】 
    set @sql='select 科室名称,' 
    select @sql=@sql+'sum(case when 险种='''+cast(险种 as varchar(26))+''' then 实收保费 else 0 end) 
    ['+cast(险种 as varchar(26))+'],' from (select distinct top 100 percent 险种 from BD_DATA order by 险种)a set @sql =left(@sql,len(@sql)-1)+' from BD_DATA group by 科室名称 '