gpt4 book ai didi

sql-server - 不知道行值的数据透视表

转载 作者:行者123 更新时间:2023-12-03 13:31:29 24 4
gpt4 key购买 nike

这是我的表 - 从 MyTable 中选择 ItemName、ItemDescription

我不知道 ItemNameItemDescription 中的值是什么。

是否可以显示数据以便将 ItemName 创建为列并将 ItemDescription 创建为行值?

最佳答案

需要 mssql 2008+

create table mytable( ItemName varchar(10), ItemDescription varchar(10))

insert mytable values('item 1', 'desc1')
insert mytable values('item 2', 'desc2')
insert mytable values('item 1', 'desc2')

declare @list varchar(2000)
;with cte
as(
select distinct top 100 percent replace(replace(itemname, ']', ''), '[', '') itemname
from mytable
order by itemname
)
select @list = coalesce(@list + ',' + '['+itemname+']', '['+itemname+']') from cte

declare @sql varchar(4000)
set @sql =
'
select * from
(
select replace(replace(itemname, '']'', ''''), ''['', '''') itemname, ItemDescription, row_number() over (partition by ItemName order by ItemDescription) id from mytable
) a
PIVOT (MAX([ItemDescription]) FOR [itemname] IN ('+@list+')) AS pvt'

exec (@sql)

结果:

id  item 1  item 2
1 desc1 desc2
2 desc2 NULL

关于sql-server - 不知道行值的数据透视表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17942857/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com