À l'aide de CAS Relevés dans la JOINTURE EXTERNE GAUCHE en SQL

J'ai un scénario où je veux passer sur deux tables différentes dans une jointure externe. Il va quelque chose comme ceci:-

         select mytable.id, 
                yourtable.id
           from mytable
left outer join (case
                    when mytable.id = 2 then table2 
                      yourtable on table1.id = table2.id
                    else
                      table3 yourtable on table1.id = table3.id
                 end)

...mais ça ne fonctionne pas. Des suggestions?

Il pourrait être utile de réexaminer la conception des bases de données. Si les deux table2 et tableau3 possèdent les mêmes schémas, pourquoi sont-ils différents tableaux?
Il est également intéressant de ré-examen de votre exemple. Il semble y avoir alias/tablename mix-up.
Vient se joindre aux DEUX tables et déplacer des CAS, une partie de la colonne de la liste
Oui joindre fonctionne mais puis-je obtenir les valeurs dans deux colonnes différentes, pas dans un.
Les tables sont similaires, mais pas sur les mêmes choses. De sorte à les garder. Ses comme j'ai 2 tables,le personnel et les étudiants, se référant à une table, le corps professoral, qui ensuite se réfère à deux plus de tables etc. J'ai d'abord eu à traiter avec le premier cas, c'est à dire, obtenir l'facultés pour le personnel et les étudiants, tout en gardant une colonne pour le personnel et les étudiants. En tout cas, merci à tous.

OriginalL'auteur s khan | 2010-03-22