我试图找到最便宜的guitarRig
。吉他装备有部件(即amplifier
,cabinet
,microphone
,guitarType
,guitarStringType
,patchCord
,effectsPedal
)来自产品。
产品的购买价格由我的PurchaseInformation
表格决定。
以下是我的表格:
Table Part:
name
guitarRig references GuitarRig(name)
product references Product(name)
Table Product:
name
part references Part(name)
barcodeNumber
Table PurchaseInformation:
price
product references Product(name)
purchasedFrom references Store(name)
到目前为止,我所拥有的是:
SELECT guitarRig
FROM Part
WHERE product =
(
SELECT name
FROM Product
WHERE name =
(
SELECT product, MIN(price) as minPrice
FROM PurchaseInformation
GROUP BY minPrice
)
);
我意识到这有很多问题(即我试图说name
等于两列,product
和minPrice
),但我不能为了我的生活,弄清楚如何得到我正在寻找的东西。
答案 0 :(得分:0)
我还没有测试过这个,所以可能会有一些错别字。我的假设是最便宜的guitarRig是通过对该装备的所有零件价格求和来确定的。
SELECT p.guitarRig
, sum(r.price) as totPrice
FROM Part p
, Product r
, PurchaseInformation i
WHERE p.product = r.name
AND p.name = r.part
AND r.name = i.product
GROUP BY p.guitarRig
ORDER BY totPrice desc
LIMIT 1