读书人

请各位帮忙用SQL语句怎么实现?多谢

发布时间: 2012-03-01 10:25:46 作者: rapoo

请各位帮忙,用SQL语句如何实现?谢谢!

货位 产品编号 数量
郑州 电脑 10
郑州 打印机 15
洛阳 打印机 20
新乡 财务软件 10


转换为 格式
货位 电脑 打印机 财务软件
郑州 10 15
洛阳 20
新乡 10

[解决办法]
Create table test (addr nvarchar(10),pid nvarchar(10),amt int)
go
insert test values(N '郑州 ',N '电脑 ',10)
insert test values(N '郑州 ',N '打印机 ',15)
insert test values(N '洛阳 ',N '打印机 ',20)
insert test values(N '新乡 ',N '财务软件 ',10)

select *
from test

declare @sql nvarchar(400)
set @sql = 'select addr '
select @sql = @sql + ',sum(case pid when N ' ' '+pid+ ' ' ' then amt end) [ '+pid+ '] '
from (select distinct pid from test) as a
select @sql = @sql+ ' from test group by addr '
print(@sql)
exec(@sql)

读书人网 >SQL Server

热点推荐