Это мой код! Я хочу указать в своем отчете идентификатор детали и идентификатор заказа на поставку, и он содержит всю связанную информацию с этими спецификациями. Важно то, что если у нас одинаковый идентификатор заказа на покупку и идентификатор детали, нам нужен код для возврата результата с наибольшим идентификатором транзакции. Следующий код не обеспечивает то, что я ожидал. Не могли бы вы мне помочь?
SELECT MAX(INVENTORY_TRANS.TRANSACTION_ID), INVENTORY_TRANS.PART_ID
, INVENTORY_TRANS.PURC_ORDER_ID, TRACE_INV_TRANS.QTY, TRACE_INV_TRANS.CREATE_DATE, TRACE_INV_TRANS.TRACE_ID
FROM INVENTORY_TRANS
JOIN TRACE_INV_TRANS ON INVENTORY_TRANS.TRANSACTION_ID = TRACE_INV_TRANS.TRANSACTION_ID
WHERE INVENTORY_TRANS.PART_ID = @PartID
AND INVENTORY_TRANS.PURC_ORDER_ID = @PurchaseOrderID
GROUP BY TRACE_INV_TRANS.QTY, TRACE_INV_TRANS.CREATE_DATE, TRACE_INV_TRANS.TRACE_ID, INVENTORY_TRANS.PART_ID
, INVENTORY_TRANS.PURC_ORDER_ID
Пример таблицы trace_inventory_trans:
part_id trace_id transaction id qty create_date
x 1 10
x 2 11
x 3 12
Пример таблицы инвентаризации:
transaction_id part_id purc_order_id
11 x p20
12 x p20
Я хотел есть результат самой большой транзакции, которая является транзакцией 12, но она показывает мне транзакцию 11