Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Unisci due tabelle con due colonne SQL Server 2008 R2

Ti unisci di nuovo al tavolo, quindi sembra che tu stia FROMing quello stesso tavolo due volte (uno per la ricerca del medico curante, uno per la ricerca del medico di ammissione).

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>

e il tuo join interno per a prende di mira il primo dottore, il join per a2 prende di mira il secondo dottore.

Scusa lo pseudo-codice, ma penso che tu abbia l'idea. Noterai che a e a2 ricevono entrambi il campo doc_name dalla tabella dei medici, ma sono uniti ai diversi ID della tabella b.