Je rejoint une sous-requête à la requête extérieure et j'ai besoin de voir les résultats de tout, même que l'adhésion ne correspond pas.
J'ai essayé de créer une table Temp pour la requête extérieure et une table Temp pour l'une des requêtes internes, puis essayé de participer à ce sujet. J'ai essayé de faire un insert à la requête extérieure, mais cela m'a donné une tonne de lignes. Je pense à une déclaration de fusion avec une table cible avec correspondance et non-fixation. p> Quand il y a un match, il apparaîtra, mais j'ai besoin de voir ceux qui n'ont pas de match pour que je puisse le faire passer à la prochaine sous-requête pour voir s'il y a une correspondance. P> p>
3 Réponses :
Sans plus de détails sur votre question et SGBD, je pense que cela aidera, mais je ne suis pas sûr:
Select a.*, ISNULL(b.col, c.col) --Will show you the column from b if it matched, or the column from c if there was no match on b from Table a left join Table b on a.col = b.col... --More restrictive criteria here left join Table c on a.col = c.col...--Less restrictive criteria here
Comment vous joignez-vous à deux tables et obtenez-vous des résultats et obtenez également des résultats d'enregistrements qui ne répondent pas à la jointure? Est-ce possible?
Bonjour @ethgirl - Différents types de jointures renvoient différents ensembles d'enregistrements. Si vous souhaitez enregistrer des enregistrements qui ne répondent pas à la jointure à renvoyer des deux côtés de la jointure, essayez Inscrivez-vous Code>
Sélectionnez Distinct T1.Id, T1.Col1, T1.col2, T2.col1 de TABLE1 T1 GAUCHE JOIS JOIN TABLE2 T2 ON T1.ID! = T2.ID P>
Vous semblez vouloir que la logique en cascade dans le rejoindre code>. Votre question est un peu vague sur les détails, mais cela ressemble à ceci:
Select coalesce(a.cola, c.cola) as cola,
a.colb, a.colc,
coalesce(b.cold, c.cold) as cold
coalesce(b.cole, c.cole) as cole
from a left join
b
on a.cola = b.cola and
a.colb = b.colb and
a.colc = b.colc left join
c
on a.colA is null and -- or is this b.colA
a.colb = b.colb and
a.colc = b.colc
Salut @ethgirl! Cela nous aiderait à répondre à votre question si vous avez ajouté une balise indiquant votre SGMS (par exemple, SQL Server, MySQL ...) et quelques données d'échantillons (voir exemple de reproductible minimal ).