J'ai la table:mysql - se joindre à trois tables d'avoir
id name type
où "type" est 1 ou 2
je dois rejoindre cette table avec deux autres. Les lignes avec "type = 1" doivent être jointes avec la première table, et = 2 avec la seconde. Par exemple, la table principale contient certains événements que les gens ont fait. La première table à rejoindre est l'information sur les hommes, et la seconde concerne les femmes. Le type est le sexe.
J'ai besoin de prendre les 10 derniers événements avec toutes les informations sur ces peuples.
Quelque chose comme
SELECT *
FROM tbl
INNER JOIN tbl_1 ON tbl.name = tbl_1.name HAVING tbl.type = 1
INNER JOIN tbl_2 ON tbl.name = tbl_2.name HAVING tbl.type = 2
Mais il ne ne fonctionne pas.
Comment cela peut-il être implémenté?
La différence entre LEFT (OUTER) JOIN et INNER JOIN doit être soulignée. Une INNER JOIN ne vous donnera aucun résultat. – erikkallen