Допустим, у меня есть очень простая таблица, подобная этой:
И я хочу запрос, чтобы вернуть эти данные в 1 строку, например:
Как мне это сделать? Вот что я пробовал до сих пор:
SELECT
od.OrderNo,
CASE
WHEN od.PartNo LIKE 'CAD%' THEN od.PartNo
END AS [Part1],
CASE
WHEN od.PartNo LIKE 'CAD%' THEN od.DueDate
END AS [DueDate1],
CASE
WHEN od.PartNo LIKE 'WISH%' THEN od.PartNo
END AS [Part2],
CASE
WHEN od.PartNo LIKE 'WISH%' THEN od.DueDate
END AS [DueDate2]
FROM OrderDet od
WHERE od.OrderNo = '20352E'
AND (od.PartNo LIKE 'CAD%'
OR od.PartNo LIKE 'WISH%')
В результате я получаю следующий результат:
Я также попытался самостоятельно присоединиться, как это:
SELECT
od.OrderNo,
od.PartNo AS [Part1],
od.DueDate AS [DueDate1],
od2.PartNo AS [Part2],
od2.DueDate AS [DueDate2]
FROM OrderDet od
JOIN OrderDet od2 ON od.OrderNo = od2.OrderNo
WHERE od.OrderNo = '20352E'
AND (od.PartNo LIKE 'CAD%'
OR od2.PartNo LIKE 'WISH%')
Это тоже не сработало, однако мне нужна строка 8, просто я не уверен, как ее изолировать, результат следующий:
Так есть ли способ сделать то, что я хочу, и показать это в 1 строке? Не могу обернуть мою голову вокруг этого. Любая помощь приветствуется, спасибо