2012-06-18 98 views
0

我有2個表格:需要INNER JOIN兩個表的幫助

表A:Clientes_consultas; 字段:

id_consulta  | int(11)  
meiocomunicacao | int  
caminhoresposta | int  

...

表B:meioscomunicacao;
字段:

id_meiocomunicacao | int(11) 
descricao   | varchar(20) 

在表Clientes_consultas(meiocomunicacao和caminhoresposta)是表示在meioscomunicacao表id_meiocomunicacao號碼。

我有這個疑問:

SELECT clientes_consultas.*, meioscomunicacao.descricao 
FROM clientes_consultas 
INNER JOIN meioscomunicacao ON meioscomunicacao.id_meiocomunicacao=clientes_consultas.caminhoresposta 
WHERE id_consulta=14 

如果我將其更改爲(這是我想要的):

SELECT clientes_consultas.*, meioscomunicacao.descricao 
FROM clientes_consultas 
INNER JOIN meioscomunicacao ON meioscomunicacao.id_meiocomunicacao=clientes_consultas.caminhoresposta 
INNER JOIN meioscomunicacao ON meioscomunicacao.id_meiocomunicacao=clientes_consultas.meiocomunicacao 
WHERE id_consulta=14 

這會給我的錯誤:Not unique table/alias: 'meioscomunicacao'

哪有我解決這個問題?任何幫助表示讚賞。

由於提前, 馬里奧

回答

5

Not unique table/alias錯誤消息告訴你該怎麼做:創建一個不同的別名爲每個「meioscomunicacao」的提法,是這樣的:

SELECT clientes_consultas.*, mc1.descricao 
FROM clientes_consultas 
INNER JOIN meioscomunicacao mc1 ON mc1.id_meiocomunicacao=clientes_consultas.caminhoresposta 
INNER JOIN meioscomunicacao mc2 ON mc2.id_meiocomunicacao=clientes_consultas.meiocomunicacao 
WHERE id_consulta=14 

請注意,您需要指定如果你想mc1.descricao或mc2.descricao結果(即從哪個JOIN你想要「descricao」字段)。

+0

非常感謝您提供快速有效的答案。這正是我所期待的。再次感謝你。最好的問候,馬里奧 – user1463719

+0

馬里奧,請閱讀此:http://meta.stackexchange.com/a/5235/149253 - 感謝你從巴西! –