【发布时间】:2021-12-30 16:33:50
【问题描述】:
我对 SQL 很陌生,所以这个查询一直让我头疼。作为参考,我有两张表(简化版):
CREATE TABLE PARTS_USED
(
Part INT NOT NULL,
Product INT NOT NULL,
Quantity INT
PRIMARY KEY(Part, Product)
);
和
CREATE TABLE SUPPLY
(
Vendor INT NOT NULL,
Part INT NOT NULL,
Price DECIMAL(8,2) NOT NULL,
PRIMARY KEY(Vendor, Part),
);
Product 和 Part 都是唯一 ID。
我在这里要做的是获取每个产品的总“成本”((Quantity * (Minimum Part Price)) 的总和)。
到目前为止,我有这个查询:
CREATE VIEW PRODUCT_COST(ProductID, TotalCost)
AS
SELECT
PARTS_USED.Product,
SUM(PARTS_USED.Quantity * (SUPPLY.Price))
FROM
PARTS_USED
INNER JOIN
SUPPLY ON PARTS_USED.Part = SUPPLY.Part
GROUP BY
PARTS_USED.Product;
但是,我得到MIN(SUPPLY.Price) 被证明是困难的;我希望能够将SELECT 行中的SUPPLY.Price 更改为MIN(SUPPLY.Price),但这不起作用。由于表格的设置方式,我对应该如何使用 JOIN 感到很迷茫。
【问题讨论】: