У меня есть таблица Orders, и я хочу извлечь несколько столбцов из таблиц Orders и записи из одной из двух таблиц OrderDetails в зависимости от значения столбца в таблице Orders.
Orders
OrderID Pk int
OrderDetails_A_ID
OrderDate
OrderedById
OrderDetails_A
OrderDetails_A_ID Pk int
OrderID Fk int
Qty_A
ItemDesc_A
OrderDetails_B
OrderDetails_B_ID Pk int
OrderID Fk int
Qty_B
ItemDesc_B
Вот то, что я знаю, не работает, но то, что я хотел бы сделать.
SELECT O.OrderDate,O.OrderedByID,
CASE WHEN O.OrderDetails_A_ID IS NULL
THEN
SELECT B.ItemDesc_B as ItemDesc,B.Qty_B as Qty
ELSE
SELECT A.ItemDesc_A as ItemDesc,A.Qty_A as Qty
END
FROM Orders as O