declare @sql varchar(8000)
set @sql = 'select 零件表.名称'
select @sql = @sql + ',sum(case 价格代码 when '''+价格代码+''' then 价格 else 0 end) ['+cast(ID as varchar(10))+'季度数据]'
  from (select distinct 零件价格代码表 from 有一表) as a
exec(@sql+' from 价格表,零件表 where 价格表.零件代码=零件表.零件代码 group by 零件表.零件代码,零件表.名称')
go

解决方案 »

  1.   

    declare @sql varchar(8000)
    set @sql = 'select 零件表.名称'
    select @sql = @sql + ',sum(case 价格表.价格代码 when '''+价格代码+''' then 价格表.价格 else 0 end) [Price'+cast(ID as varchar(10))+']'
      from (select distinct 零件价格代码表 from 有一表) as a
    exec(@sql+' from 价格表,零件表 where 价格表.零件代码=零件表.零件代码 group by 零件表.零件代码,零件表.名称')
    go
      

  2.   

    TO:大力老师,按你的SQL语句可以得到查询结果,非常佩服也非常感激。
    但如我想建成一个查询,怎么办呢?刚才试了一下查询里不能放这么多语句的。