【发布时间】:2019-11-11 22:51:07
【问题描述】:
我想为技术采购团队提供默认供应商设置,让他们知道在哪里订购零件。这是基于一个名为 price_book 的表。为此,我需要一个新表,其中包含零件号、最便宜的价格和供应商代码,以通过系统处理它。如何只选择价格最低的供应商?
我这样做是为了简化技术采购团队的订购流程。到目前为止,我只有每个供应商最便宜的价格(关于最低订购量)。我缺少的是只选择了一个价格最便宜的供应商的部分。所以每个零件编号与相应供应商的最便宜的价格。
查询很短:
SELECT DISTINCT pb.partno, MIN(pb.purch_price * c.rate) AS 'cheapest_price', pb.supplier
FROM price_book pb
LEFT JOIN currency c ON c.currency = pb.currency
WHERE pb.contract_id <> 0
AND pb.expire_date > Datediff(Day, '31 Dec 1971', Getdate())
AND pb.order_type = 'P'
AND pb.condition = 'N'
GROUP BY partno, supplier
WHERE 子句并不重要,因为它与内部流程有关。
结果应该是一个包含部件号、价格和相应供应商列的列表。每个零件编号应该只有供应商最便宜的价格。
【问题讨论】:
-
查询中有任何 SELECT 吗?
-
哦,对不起!刚刚添加了 SELECT 语句