Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Свържете две таблици с две колони SQL Server 2008 R2

Присъединявате се отново към масата, така че изглежда, че ОТ тази същата маса два пъти (едно за търсене на лекуващия лекар, едно за търсене на приемащия лекар).

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>

и вашето вътрешно съединение за a е насочено към първия доктор, съединението за a2 е насочено към втория доктор.

Извинете за псевдокода, но мисля, че схванахте идеята. Ще забележите, че и a, и a2 получават полето doc_name от таблицата doctors, но са присъединени към различните идентификатори от таблицата b.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Актуализиране на заявка с корелирана подзаявка

  2. Как да създадете истинска връзка един към един в SQL Server

  3. Избягване на SQL инжектиране без параметри

  4. Изтриване на пощенски профил на база данни в SQL Server (T-SQL)

  5. Свържете две таблици с две колони SQL Server 2008 R2