编号 种类  数量
001   A     3
001   B     4
如何处理成
编号  A     B  
001   3     4

解决方案 »

  1.   

    --建立测试环境
    Create Table 表(编号 varchar(10),种类 varchar(10),数量 int)
    --插入数据
    insert into 表
    select '001','A',3 union
    select '001','B',4 select * from 表
    --测试语句declare @sql varchar(8000)
    set @sql = 'select 编号'
    select @sql = @sql + ', [' + 种类 + '] =  sum(case 种类 when '''  + 种类 + ''' then 数量 else 0 end) '
           from (select distinct 种类 from 表) as a
    select @sql = @sql + ' from 表 group by 编号'
    exec(@sql)--删除测试环境
    Drop Table 表--结果
    编号     A        B 
    001 3 4
      

  2.   

    meiqingsong(阿飛) :  我看不太明白你回的贴子,能写的再详细一点吗:不要累加字符串,直接写出SQL语句行吗?
      

  3.   

    楼上说的是  种类不固定的话,只能这样,
    没法直接写sql语句