Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Como você junta na mesma tabela, duas vezes, no mysql?


você usaria outra junção, algo nesse sentido:
SELECT toD.dom_url AS ToURL, 
    fromD.dom_url AS FromUrl, 
    rvw.*

FROM reviews AS rvw

LEFT JOIN domain AS toD 
    ON toD.Dom_ID = rvw.rev_dom_for

LEFT JOIN domain AS fromD 
    ON fromD.Dom_ID = rvw.rev_dom_from

EDITAR :

Tudo o que você está fazendo é entrar na mesa várias vezes. Veja a consulta no post:ela seleciona os valores das tabelas Reviews (alias como rvw), essa tabela fornece 2 referências para a tabela Domain (uma FOR e uma FROM).

Neste ponto, é uma questão simples de juntar à esquerda a tabela Domain à tabela Reviews. Uma vez (alias como toD) para FOR, e uma segunda vez (alias como fromD) para FROM.

Em seguida, na lista SELECT, você selecionará os campos DOM_URL de ambos os LEFT JOINS da tabela DOMAIN, referenciando-os pelo alias da tabela para cada junção em referência à tabela Domains e aliando-os como ToURL e FromUrl.

Para obter mais informações sobre alias no SQL, leia aqui .