Недопустимое имя столбца ItemA
, ItemB
, ItemC
, ItemD
и ItemE
Я переношу это из Progress в SQL и не могу ссылаться на вычисляемые поля в запросе. После исследования ошибки оказалось, что единственным решением является замена каждого элемента полным выражением или создание вложенного оператора выбора. Ни один из них не работает в этом случае.
SELECT
OrderQty - (ItemE + ShippedQty) AS ItemA,
((CASE WHEN (ItemA > ItemB AND ItemA > 0)
THEN (ItemA - ItemB)
ELSE 0
END)) AS ItemC,
UnitPrice * ItemC AS ItemD,
((CASE WHEN OnHandQty > (ReservedQty + PickingQty)
THEN OnHandQty - (ReservedQty + PickingQty)
ELSE 0
END)) AS ItemB,
((CASE WHEN ReservedQty > - 1
THEN (ReservedQty + PickedQty + PickingQty)
ELSE 0
END)) AS ItemE,
-- Example of enumerated expression that is far to confusing to continue.
SELECT
OrderQty - (((CASE WHEN ReservedQty > -1 THEN (ReservedQty + PickedQty + PickingQty) ELSE 0 END)) + ShippedQty),
((CASE WHEN (OrderQty - ((CASE WHEN ReservedQty > -1 THEN (ReservedQty + PickedQty + PickingQty) ELSE 0 END)) >
((CASE WHEN OnHandQty > (ReservedQty + PickingQty) THEN OnHandQty - (ReservedQty + PickingQty) ELSE 0 END)) AND
(OrderQty - (ItemE + ShippedQty) > 0) THEN (OrderQty - (ItemE + ShippedQty) ELSE 0 END)))),
UnitPrice * ((CASE WHEN (ItemA > ItemB AND ItemA > 0) THEN (ItemA - ItemB) ELSE 0 END))...