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

So sánh kết hợp Parent-child từ 2 bảng khác nhau trong SQL Server

Trả lời theo nhận xét về câu hỏi. Tôi đã thử nó trên cơ sở dữ liệu SQLite và vì cú pháp có thể bị sai lệch so với SQLServer, tôi chỉ có thể chỉ đường cho bạn. Tôi không có liên kết đến cơ sở dữ liệu.

Tìm kiến ​​thức cơ bản:

  1. Tìm mat_no, cặp con trong mat_rel trong đó cha mẹ LÀ KHÔNG ĐỦ
  2. Tìm tất cả các hàng trong mat_rel khớp với mat_no và vị trí cha khớp với con từ 1. Thêm SQL từ 1. trong một JOIN như (SELECT ..).

Tìm kiếm sự không khớp (so sánh child =child và mat_no =mat_no):

  1. Tìm tất cả các hàng từ 2, trong đó không có hàng nào phù hợp trong mat_item. Sử dụng THAM GIA TRÁI hoặc KHÔNG TỒN TẠI
  2. Tìm tất cả các hàng trong mat_item mà không có hàng nào phù hợp trong mat_rel từ 2. Sử dụng THAM GIA ĐÚNG hoặc KHÔNG TỒN TẠI.

Tìm cả 3 và 4:

  1. Sử dụng cả SQL với UNION ALL



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Làm cách nào để chọn dữ liệu của một bảng từ một cơ sở dữ liệu khác trong SQL Server?

  2. so sánh một cột với một danh sách các giá trị trong t-sql

  3. Khóa bi quan trong T-SQL

  4. ACOS () Ví dụ trong SQL Server

  5. CAST (DATETIME AS DATE) trên mệnh đề WHERE