2011-12-09 157 views
0

我有3個表。3個表的MySQL查詢

Mark 
id_mark 
mark_name 

示例記錄: 1, '福特'


Model 
id_model 
id_mark 
mondel_name 

示例記錄: 1,1, '焦點'


Adds 
id_adds 
id_model 
name 
price 
etc. 

示例記錄: 1 1 '我的廣告',20000

如何來執行返回的結果例如查詢:

My ad Ford Focus 20000 
+0

做一個加入? http://dev.mysql.com/doc/refman/5.1/en/join.html你有沒有任何代碼? – konsolenfreddy

+0

你想要一個INNER JOIN - 看看這裏http://dev.mysql.com/doc/refman/5.6/en/join.html –

回答

0
select adds.id_model, mark.mark_name, model.model_name adds.price 
from mark, model, adds 
where model.id_mark = mark.id_mark and adds.id_model = model.id_model 
1

使用您的確切拼法:

SELECT a.name, mk.mark_name, mo.mondel_name, a.price 
FROM Adds a 
INNER JOIN Model mo ON mo.id_model = a.id_model 
INNER JOIN Mark mk ON mk.id_mark = mo.id_mark 

雖然不是包括id_markModel表,我認爲你應該有一個連接表,它除了包含id_modelid_mark之外什麼都沒有,關鍵是由兩個字段組成。

0
select a.name, ma.mark_name, mo.model_name, a.price 
from adds a, mark ma, model mo 
where a.id_model = mo.id_model 
and ma.id_mark = mo.id_mark 

要當心與數據模型,如果查詢只是這樣的,有一個以上的大關模型,你會得到類似

我的廣告福特福克斯20000個 我的廣告菲亞特重點20000