【发布时间】:2020-04-21 18:55:16
【问题描述】:
这是我的代码!我想为我的报告提供零件 ID 和采购订单 ID,它会带来所有相关信息以及这些规范。重要的是,如果我们有相同的采购订单 ID 和零件 ID,我们需要代码返回具有最高交易 ID 的结果。以下代码没有提供我所期望的。你能帮帮我吗?
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
inventory_trans 表的示例是:
transaction_id part_id purc_order_id
11 x p20
12 x p20
我想获得最大交易的结果,即交易 12,但它显示了交易 11
【问题讨论】:
-
样本数据和预期结果会有所帮助。
-
结果没有应用最大条件。
-
是的,但您需要向我们展示数据样本、上述查询的结果以及您想要的预期结果。
-
我在问题的末尾添加了
-
结果中是否需要
TRACE_INV_TRANS.TRACE_ID?如果不从Select和Group By中删除它。每行的Qty是否相同?每行的TRACE_INV_TRANS.CREATE_DATE是否相同?您忽略了显示这些要回答的问题的完整样本数据。
标签: sql-server sqlreportingservice