3 回答

TA貢獻(xiàn)1712條經(jīng)驗(yàn) 獲得超3個(gè)贊
試試這個(gè):
SQL Server 2005+
;with cte_name as(select * from <table> where ColumnName='name'), cte_phone as(select * from <table> where ColumnName='phone'), cte_email as(select * from <table> where ColumnName='email') select n.ItemID,n.Value [Name],p.Value [Phone],e.Value [Email] from cte_name n join cte_phone p on n.ItemID=p.ItemID join cte_email e on n.ItemID=e.ItemID
SQL小提琴演示

TA貢獻(xiàn)1817條經(jīng)驗(yàn) 獲得超14個(gè)贊
你不需要?jiǎng)討B(tài)透視,因?yàn)樗鼘⑹且粋€(gè)不同的表。只需做這樣的事情:
name phone email
---------------------------------
Peter
123456
peter@host.com
檢查這個(gè)SQL小提琴
SELECT DISTINCT u.ItemID, n.Value as 'name', p.Value as 'phone', e.Value as 'email'
FROM UserData u
INNER JOIN(
SELECT ItemID, Value
FROM UserData WHERE ColumnName = 'name') n ON n.ItemID = u.ItemID
INNER JOIN(
SELECT ItemID, Value
FROM UserData WHERE ColumnName = 'phone') p ON p.ItemID = u.ItemID
INNER JOIN(
SELECT ItemID, Value
FROM UserData WHERE ColumnName = 'email') e ON e.ItemID = u.ItemID
- 3 回答
- 0 關(guān)注
- 589 瀏覽
添加回答
舉報(bào)