【发布时间】:2019-04-19 16:15:07
【问题描述】:
我有一张表,其中包含一件物品,以及我们购买该物品的主要供应商。
Table 1
-------
item id
supplier id
我有另一个表,其中记录了购买这些物品的所有时间。
一个商品可以从多个供应商处购买,因此一个商品可以在表 #2 中有多个记录,供应商 ID 相同或供应商 ID 不同。
po #
item id
supplier id
date purchased
我正在尝试查找表 1 中每条记录的最后一次购买商品的时间。
这是我想出的 SQL 代码,但它没有返回我期望的结果。
SELECT
K.item_ID,
MAX(PurchaseInfo.order_date) AS [Last Purchase Date],
PurchaseInfo.po_no
FROM
Items K
LEFT OUTER JOIN
(SELECT
order_date, supplier_id, po_no, item_id
FROM
Purchases
GROUP BY
order_date, supplier_id, po_no, item_id) AS PurchaseInfo ON PurchaseInfo.item_id = K.item_id
AND PurchaseInfo.supplier_id = K.supplier_id
GROUP BY
PurchaseInfo.order_date, K.item_id, PurchaseInfo.po_no
【问题讨论】:
-
更新您的问题添加适当的数据样本和预期结果
标签: sql