我试图获得订单的库存商品列表,以及供应商给出的最新确认交货时间。如果我尝试使用这样的查询,它会返回该项目已经确认的每个提前期。我怎样才能让它只显示最后一个?上一个发货日期的商品列表
SELECT
T0.DocNum AS Order,
T1.ItemCode AS Item,
T2.U_Internal_Code AS IntItem,
CAST (((T2.onhand+T2.OnOrder)-T2.IsCommited) as int) AS Stock,
T3.ShipDate
FROM
ORDR T0
INNER JOIN RDR1 T1 ON T0.DocEntry = T1.DocEntry
INNER JOIN OITM T2 ON T1.ItemCode = T2.ItemCode
INNER JOIN POR1 T3 ON T2.U_Bestelcode = T3.U_Bestelcode
WHERE T0.DocNum='1234' AND T3.ShipDate=(SELECT MAX (ShipDate) FROM POR1 WHERE T3.ShipDate = ShipDate)
ORDER BY T1.ItemCode
订购然后在由高到低的顺序,只挑选的第一个(取决于您的数据库软件的方式可能会发生变化) – litelite
'T3.ShipDate = (SELECT MAX(ShipDate)FROM POR1 WHERE T3.ShipDate = ShipDate)'对我没有意义。它不应该读''从POR1 t4哪里T4.U_Bestelcode = t3.U_Bestelcode' – Serg