0

我有 2 张桌子:

表 A:Clientes_consultas;领域:

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

…</p>

表 B: 小通讯;
领域:

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

在表 Clientes_consultas(meiocomunicacao 和 caminhoresposta)中是代表 meiocomunicacao 表中的 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.descicao(即,您希望从哪个 JOIN 中获得“descricao”字段)。

于 2012-06-18T13:26:55.613 回答