Eu tenho três mesas
Tabela 1
userid mobile
1 123456789
2 321654987
3 987456321
Mesa 2
revid userid revdes mobile
1 2 ASD 123456789
2 2 DSA 123456348
3 1 QWE 963258124
Tabela 3
revid revloc
1 asdf
3 dsaq
Eu quero uma saída como esta, onde userid = 2
userid revid revdes mobile revloc inTable1
2 1 ASD 123456789 asdf true
2 2 DSA 123456348 NULL false
Na saída acima, o elemento da primeira linha da coluna inTable1 é verdadeiro porque o dispositivo móvel "123456789" está disponível na Tabela1
Estou usando o MySQL.
Você pode conseguir o que deseja usando uma série de junções à esquerda. A parte complicada da sua consulta foi saber entrar Table1
e Table2
usar o número do celular, em vez do ID do usuário.
SELECT t2.userid, t2.revid, t2.revdes, t2.mobile, t3.revloc,
t1.mobile IS NOT NULL AS inTable1
FROM Table2 t2 LEFT JOIN Table1 t1
ON t2.mobile = t1.mobile
LEFT JOIN Table3 t3
ON t2.revid = t3.revid
WHERE t2.userid = 2
Siga o link abaixo para ver uma demonstração em execução:
Este artigo é coletado da Internet.
Se houver alguma infração, entre em [email protected] Delete.
deixe-me dizer algumas palavras