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