我是 (My)SQL 新手,需要一些帮助: 在一个数据库中,我有 3 个表,例如:
购买:
id model price ------------ 1 1 2500 2 2 14000
制造商:
id name ----------- 1 Opel 2 Crysler
型号:
id name manufacturer ------------------------- 1 Astra 1 2 C 300 2
在表 purchases 中,model 是一个外键并且链接到 model.id。在模型中 manufacturer 是一个外键并且链接到 manufacturer.id。
我的目标是一个如下所示的表格:
id model price manufacturer ------------------------------ 1 Astra 2500 Opel 2 C300 14000 Chrysler
我知道如何在表 purchases 中进行 JOIN 以获取模型名称。不幸的是我不知道如何找到制造商?
我的 SQL 查询:
SELECT * FROM purchases JOIN model ON purchases.model = model.id
最佳答案
用'inner join'试试:
select m.name as model, p.price, mf.name as manufacturer
from purchases p
inner join
model m on p.model = m.id
inner join
manufacturer mf on m.manufacturer = mf.id;
您可以使用“where”加入您的表格。
试一试:
select m.name as model, p.price, mf.name as manufacturer
from purchases p, manufacturer mf, model m
where m.manufacturer = mf.id
and p.model = m.id
但是用“where”不是很好,算古风了。
有个问题和你的类似,也许可以帮助你弄清楚问题: SQL Inner-join with 3 tables?
关于mysql - (Mysql : Join multiple tables,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37099825/