Requête SQL avec une table vide
MrBenji
Messages postés
20
Date d'inscription
Statut
Membre
Dernière intervention
-
Nhay Messages postés 838 Date d'inscription Statut Membre Dernière intervention -
Nhay Messages postés 838 Date d'inscription Statut Membre Dernière intervention -
Bonsoir,
Je cherche depuis quelque temps une solution pour prendre en compte le résultat d'une requête dans une table même si elle est, pour le moment, vide en joignant d'autre tables mais je fini par croire que c'est impossible.
Explication simplifié:
J'ai 3 tables, deux tables ALPHA et BRAVO qui ne sont pas vides et une autre CHARLIE qui elle est vide(car les données seront remplis par les membres plus tard)
Je veux faire une requête de tel sorte à se que le résultat me renvoie les données des tables ALPHA et BRAVO mais aussi les donnés de la table CHARLIE quand ils existent car une requête de se type ne renvoie bien évidement rien si tel est le cas:
J'ai aussi essayer des sous-requêtes dans le WHERE, les conditions EXISTS et NOT EXISTS,... mais les résultats se sont révélés peu concluant.
Merci de votre aide.
Je cherche depuis quelque temps une solution pour prendre en compte le résultat d'une requête dans une table même si elle est, pour le moment, vide en joignant d'autre tables mais je fini par croire que c'est impossible.
Explication simplifié:
J'ai 3 tables, deux tables ALPHA et BRAVO qui ne sont pas vides et une autre CHARLIE qui elle est vide(car les données seront remplis par les membres plus tard)
Je veux faire une requête de tel sorte à se que le résultat me renvoie les données des tables ALPHA et BRAVO mais aussi les donnés de la table CHARLIE quand ils existent car une requête de se type ne renvoie bien évidement rien si tel est le cas:
[/contents/1068-sql-commande-select SELECT] * FROM alpha INNER JOIN bravo ON bravo.id = alpha.id INNER JOIN charlie ON charlie.id = alpha.id WHERE alpha.id = '.$id.'
J'ai aussi essayer des sous-requêtes dans le WHERE, les conditions EXISTS et NOT EXISTS,... mais les résultats se sont révélés peu concluant.
Merci de votre aide.
1 réponse
-
Bonjour,
SI tu veux toujours un résultat, peut importe que Charlie existe ou non, il te suffit de faire une jointureleft outer join
au lieu de toninner join
(Juste pour la jointure avec Charlie).
SELECT * FROM alpha
INNER JOIN bravo
ON bravo.id = alpha.id
LEFT OUTER JOIN charlie
ON charlie.id = alpha.id
WHERE alpha.id = '.$id.'