我想從多列中製作1列。我努力在MSSQL中做到這一點。將來自多行的數據轉換爲1列
ID | Type1 | Type2
0 | Yellow | Blue
1 | Blue | Yellow
我想有:
ID | TYPE_ALL | TYPE
0 | Yellow | Type1
0 | Blue | Type2
1 | Blue | Type1
1 | Yellow | Type2
請,你知道該怎麼辦呢?
謝謝。
我想從多列中製作1列。我努力在MSSQL中做到這一點。將來自多行的數據轉換爲1列
ID | Type1 | Type2
0 | Yellow | Blue
1 | Blue | Yellow
我想有:
ID | TYPE_ALL | TYPE
0 | Yellow | Type1
0 | Blue | Type2
1 | Blue | Type1
1 | Yellow | Type2
請,你知道該怎麼辦呢?
謝謝。
的UNPIVOT這裏可以使用:
SELECT *
FROM Table
UNPIVOT
(Type_ALL FOR TYPE IN
(Type1, Type2)
)AS unpvt;
SELECT ID, Type1 AS TYPE_ALL, 'Type1' AS [TYPE] FROM YourTable
UNION ALL
SELECT ID, Type2 AS TYPE_ALL, 'Type2' AS [TYPE] FROM YourTable
如果你不想做一個UNPIVOT
,您可以改用一個UNION
查詢:
SELECT ID,
Type1 AS TYPE_ALL,
'Type1' AS TYPE
FROM yourTable
UNION ALL
SELECT ID,
Type2,
'Type2'
FROM yourTable
ORDER BY ID
太好了!謝謝。我需要了解更多關於pivot和unpivot的知識,它們看起來非常有用。多謝!我不是多列聯盟的忠實粉絲:D – HeadOverFeet
好的...... JM。 –