Я столкнулся с проблемой, пытаясь выполнить поворот на столе.Пример того, что я хочу, показан ниже.
ProductBarcode ProductID
-------------- ---------
1000 P1
1001 P1
1002 P2
1003 P3
1004 P4
1005 P4
Теперь я хочу преобразовать приведенную выше таблицу в нечто, как показано ниже.
ProductID Barcode1 Barcode2
--------- -------- --------
P1 1000 1001
P2 1002
P3 1003
P4 1004 1005
Я пытался разобраться с этимследующий запрос, но он не дал требуемых результатов:
SELECT
[r1].[productID],
[r1].[Productbarcode] as Barcode1,
[r2].[ProductBarcode] as Barcode2
FROM products as r1 right JOIN products as r2 on r1.[productID] = r2.[productID]
Теперь это всего лишь пример, и в действительности существуют сотни продуктов, которые имеют несколько штрих-кодов.
IЯ даже пытался использовать следующий запрос, но все, что я получил, было пустым в обоих столбцах штрих-кода.
SELECT productID,[barcode1],[barcode2]
FROM
(SELECT barcode, productID
FROM products) as TableToBePivoted
PIVOT
(MAX(barcode)
FOR barcode IN ([barcode1], [barcode2])
) AS PivotedTable;
Любая помощь будет принята с благодарностью.