MySQL:如何将多个表关联在一起
我在找最便宜的MySQL:如何将多个表关联在一起,mysql,Mysql,我在找最便宜的吉他。吉他装备的零件(即,放大器,机柜,麦克风,吉他类型,吉他弦类型,跳线,效果面板)均来自产品。 购买产品的价格取决于我的采购信息表 这是我的桌子: Table Part: name guitarRig references GuitarRig(name) product references Product(name) Table Product: name part references Part(name) barcodeN
吉他
。吉他装备的零件(即,放大器
,机柜
,麦克风
,吉他类型
,吉他弦类型
,跳线
,效果面板
)均来自产品。
购买产品的价格取决于我的采购信息
表
这是我的桌子:
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
),但是我一辈子都不知道如何得到我想要的东西 我还没有测试过这个,所以可能有一些拼写错误。我的假设是,最便宜的吉他是由该设备的所有零件价格总和决定的
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