0

私は2つのテーブルを持っています:

表A:Clientes_consultas; 田畑:

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

…</p>

表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'

どうすればこれを解決できますか?どんな助けでも大歓迎です。

よろしくお願いします、マリオ

4

1 に答える 1

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" フィールドが必要か)。

于 2012-06-18T13:26:55.613 に答える