Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

Nối hai bảng với hai cột SQL Server 2008 R2

Bạn tham gia lại vào bảng một lần nữa, vì vậy, có vẻ như bạn đang TỪ VÀO cùng một bảng đó hai lần (một để tra cứu bác sĩ đang tham gia, một cho tra cứu bác sĩ tiếp nhậ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>

và liên kết bên trong của bạn cho một bác sĩ đầu tiên, liên kết a2 nhắm mục tiêu bác sĩ thứ hai.

Xin lỗi vì mã giả, nhưng tôi nghĩ bạn hiểu được. Bạn sẽ nhận thấy rằng a và a2 đều nhận trường doc_name từ bảng bác sĩ, nhưng chúng được kết hợp với các ID khác nhau ngoài bảng 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. Tập tin MDF là gì?

  2. CHÈN VÀO @TABLE EXEC @query với SQL Server 2000

  3. Sau giá trị động ở hàng thứ 13 và giá trị tĩnh ở hàng thứ 12 với một công thức

  4. Câu lệnh SQL Server 2008 IIF dường như không được kích hoạt

  5. Ví dụ về yêu cầu SQL Server 2008 về cách tạo con trỏ để lặp qua các bản ghi