【发布时间】:2017-05-26 17:18:11
【问题描述】:
如何将 SQL Server 的一行数据转换为多列?我有如下所示的数据
[STOCK NO] [PN1] [PN2] [PN3] [PN4] [PN4] [PN5] [PN6] [PN7] [PN8] [PN9] [PN10] [PN11] [PN12] [Qty]
700349L 600446 201743 100208 300219 400533 100280 100218 100222 100220 100221 1
我想看看这样的东西
[STOCK NO] [bomRev] [bomEntry] [partId] [qty] [cmnt] [srcLoc] [dType] [lead] [lineNbr]
700349L A 1 600446 1 `TEST` TEST 0 0 1
700349L A 2 201743 1 `TEST` TEST 0 0 2
700349L A 3 100208 1 `TEST` TEST 0 0 3
700349L A 4 300219 1 `TEST` TEST 0 0 4
700349L A 5 400533 1 `TEST` TEST 0 0 5
700349L A 6 100218 1 `TEST` TEST 0 0 6
700349L A 7 100222 1 `TEST` TEST 0 0 7
700349L A 8 100220 1 `TEST` TEST 0 0 8
700349L A 9 100221 1 `TEST` TEST 0 0 9
然后我想使用 select 语句中的插入,如下所示,但我喜欢将行转置为多列
INSERT INTO [DT]([bomItem], [bomRev], [bomEntry], [partId], [qty], [cmnt],[srcLoc], [dType], [lead], [lineNbr])
SELECT
[STOCK NO], 'A', [bomEntry], [partid], [qty], 'TEST', 'TEST', '0', '0', [lineNbr]
FROM
[ST]
【问题讨论】:
标签: sql-server tsql