也是一个行转列的问题!参照历史问题没能解决!请求帮助!
商品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)