sql >> Base de Datos >  >> RDS >> Sqlserver

Unir dos tablas con dos columnas SQL Server 2008 R2

Vuelve a unirte a la tabla, por lo que parece que estás DESDE esa misma tabla dos veces (una para la búsqueda del médico tratante, otra para la búsqueda del médico de admisión).

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>

y su unión interna para a se dirige al primer médico, la unión para a2 se dirige al segundo médico.

Perdón por el pseudocódigo, pero creo que entiendes la idea. Notarás que tanto a como a2 obtienen el campo doc_name de la tabla de médicos, pero se unen a los diferentes ID de la tabla b.