如何选择一列两次,但使用不同的JOINS?

时间:2017-09-20 15:53:04

标签: mysql

我有两个FOREIGN KEYS('visitante'和'visitada')连接到一个ID。

我拥有的是:

[Print screen of code][1]

输入的代码:

SELECT j.id_jogo, j.data, j.hora, j.resultado_visitada,
j.resultado_visitante, j.local,
t_equipas.nome as 'visitada', t_equipas.nome as 'visitante' FROM t_jogos as j
LEFT JOIN t_equipas
   ON t_equipas.id_equipa = j.id_equipa_visitante
   WHERE j.id_modalidade = 1;

有了这个,逻辑上,它只显示'visitante'的值,如下所示:

| visitada  | visitante |
     x            x
     y            y
     z            z

我可以为'visitante'做LEFT JOIN,但我不知道如何在一个查询中执行此操作。

编辑:在此处找到解决方案:SQL: How to create two fields based on same field from another table?

最终代码:

SELECT j.id_jogo, j.id_equipa_visitante, j.id_equipa_visitada, j.data,
j.hora, j.resultado_visitada,
j.resultado_visitante, j.local,
eqA.nome as 'visitante', eqB.nome as 'visitada' FROM t_jogos as j
LEFT JOIN t_equipas eqA ON eqA.id_equipa = j.id_equipa_visitante
LEFT JOIN t_equipas eqB ON eqB.id_equipa = j.id_equipa_visitada
WHERE j.id_modalidade = 1;

谢谢。

1 个答案:

答案 0 :(得分:0)

要拥有多个连接条件,您可以根据需要添加任意数量的连接 -

viewControllers

希望这会有所帮助。提到的答案here围绕着这个概念。