Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Membandingkan kombinasi Induk-anak dari 2 tabel berbeda di SQL Server

Jawab sesuai komentar pada pertanyaan. Saya mencobanya di database SQLite, dan karena sintaksnya mungkin tidak aktif dibandingkan dengan SQLServer, saya hanya bisa memberi Anda petunjuk. Saya tidak memiliki tautan ke database.

Menemukan dasar-dasarnya:

  1. Temukan mat_no, pasangan anak di mat_rel di mana induknya NULL
  2. Temukan semua baris di mat_rel yang cocok dengan mat_no dan di mana induk cocok dengan anak dari 1. Tambahkan SQL dari 1. dalam JOIN like (SELECT ..).

Menemukan ketidakcocokan (membandingkan child=child dan mat_no=mat_no):

  1. Temukan semua baris dari 2, di mana tidak ada baris yang cocok di mat_item. Gunakan LEFT JOIN or NOT EXISTS
  2. Temukan semua baris di mat_item di mana tidak ada baris yang cocok di mat_rel dari 2. Gunakan RIGHT JOIN or NOT EXISTS.

Menemukan keduanya 3 dan 4:

  1. Gunakan kedua SQL dengan 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. Pantau Database SQL melalui SP_WhoIsActive atau FogLight | Pemecahan Masalah Kinerja SQL Server -1

  2. Apa perbedaan antara transformasi Gabung Gabung dan Pencarian di SSIS?

  3. Buat Kolom "Terakhir Dimodifikasi" di SQL Server

  4. Paksa pesanan bergabung sebagian di SQL Server

  5. Excel ke SQL Server dengan Microsoft.ACE.OLEDB.12.0