读书人

也是一个行转列的有关问题!参照历史有

发布时间: 2011-12-29 22:09:38 作者: rapoo

也是一个行转列的问题!参照历史问题没能解决!请求帮助!
商品ID商品名报价公司第1报价第2报价第3报价
13XXXA公司0.50.80.9
13XXXB公司0.50.60.8
13XXXC公司0.50.60.9
13XXXD公司0.80.60.8
14YYYA公司1.11.41.6
14YYYB公司1.51.01.8
14YYYC公司1.51.61.3
14YYYD公司1.31.11.8


转成如下格式:

商品ID商品名报价公司A第1价报价公司A第2价报价公司A第3价报价公司B第1价报价公司B第2价报价公司B第3价 ....
13xxx0.50.80.90.50.60.8
14YYY1.11.41.61.51.01.8

报价公司未知数量


谢谢!


[解决办法]
declare @sql varchar(8000)
set @sql= ' '

select
@sql=@sql
+ ',[ '+报价公司+ '第1价]=max(case 报价公司 when ' ' '+报价公司+ ' ' ' then 第1报价 end) '
+ ',[ '+报价公司+ '第2价]=max(case 报价公司 when ' ' '+报价公司+ ' ' ' then 第2报价 end) '
+ ',[ '+报价公司+ '第3价]=max(case 报价公司 when ' ' '+报价公司+ ' ' ' then 第3报价 end) '
from 表名 group by 报价公司

set @sql= 'select 商品ID,商品名 '+@sql+ ' from 表名 group by 商品ID,商品名 '

exec(@sql)

读书人网 >SQL Server

热点推荐