Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Połącz dwie tabele za pomocą dwóch kolumn SQL Server 2008 R2

Znowu dołączasz do stołu, więc wygląda na to, że dwa razy przechodzisz z tego samego stołu (jeden do wyszukiwania lekarza prowadzącego, drugi do wyszukiwania lekarza przyjmującego).

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 twoje sprzężenie wewnętrzne dla pierwszego lekarza, sprzężenie a2 jest skierowane do drugiego lekarza.

Wybacz pseudokod, ale myślę, że rozumiesz. Zauważysz, że a i a2 otrzymują pole nazwa_dokumentu z tabeli doctors, ale są połączone z różnymi identyfikatorami z tabeli 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. Połącz wiadomość w RAISERROR

  2. Używanie .Include() podczas dołączania do widoku przy użyciu Entity Framework

  3. Czy wykonanie procedury składowanej T-SQL jest „atomowe”?

  4. Jak odzyskać uszkodzoną bazę danych SQL Server?

  5. Jakiego ciągu użyć, aby połączyć się z serwerem SQL?