Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Verbinden Sie zwei Tabellen mit zwei Spalten SQL Server 2008 R2

Sie fügen sich wieder in die Tabelle ein, sodass es so aussieht, als ob Sie zweimal von derselben Tabelle stammen (eine für die Suche nach dem behandelnden Arzt, eine für die Suche nach dem aufnehmenden Arzt).

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>

und Ihr innerer Join für a zielt auf den ersten Arzt ab, der Join für a2 auf den zweiten Arzt.

Verzeihen Sie den Pseudo-Code, aber ich denke, Sie verstehen die Idee. Sie werden feststellen, dass a und a2 beide das Feld doc_name aus der Tabelle „doctors“ erhalten, aber sie sind mit den unterschiedlichen IDs aus der Tabelle „b“ verknüpft.