Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Joindre deux tables avec deux colonnes SQL Server 2008 R2

Vous vous rejoignez à nouveau dans la table, il semble donc que vous utilisiez cette même table deux fois (une pour la recherche du médecin traitant, une pour la recherche du médecin admis).

SELECT a.doc_name as attending_name, 
       b.somefield, 
       a2.doc_name as admitting_name

FROM doctors a, 
     someothertable b, 
     doctors a2

WHERE a.doc_id = b.attending_doc_id
  AND a2.doc_id = b.admitting_doc_id
  AND b.record_id = <whatever>

et votre jointure interne pour a cible le premier médecin, la jointure pour a2 cible le deuxième médecin.

Pardonnez le pseudo-code, mais je pense que vous avez compris l'idée. Vous remarquerez que a et a2 obtiennent tous les deux le champ doc_name de la table des médecins, mais ils sont joints aux différents ID de la table b.