3
這是我的桌子 - Select ItemName, ItemDescription from MyTable
透視表值
我不知道這個值會是什麼在ITEMNAME或ItemDescription。
是否可以顯示數據,以便ITEMNAME將作爲列上創建和ItemDescription對該行價值?
這是我的桌子 - Select ItemName, ItemDescription from MyTable
透視表值
我不知道這個值會是什麼在ITEMNAME或ItemDescription。
是否可以顯示數據,以便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 ('[email protected]+')) AS pvt'
exec (@sql)
結果:
id item 1 item 2
1 desc1 desc2
2 desc2 NULL