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

Pilih Rekam Induk Dengan Semua Anak di SQL

Mengandalkan trik numerik (di mana jumlah tautan orang tua-anak =jumlah anak, orang tua itu terhubung ke semua anak):

SELECT Parent.ParentID, COUNT(*)
FROM Parent
INNER JOIN ChildParent
    ON ChildParent.ParentID = Parent.ParentID
INNER JOIN Child
    ON ChildParent.ChildID = Child.ChildID
WHERE <ChildFilterCriteria>
GROUP BY Parent.ParentID
HAVING COUNT(*) = (
    SELECT COUNT(Child.ChildID)
    FROM Child WHERE <ChildFilterCriteria>
)


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana cara menemukan apa yang mengisi tabel?

  2. Klien SQL untuk Mac OS X yang bekerja dengan MS SQL Server

  3. SQL Threadsafe UPDATE TOP 1 untuk Antrian FIFO

  4. Bagaimana saya bisa menemukan karakter Unicode/non-ASCII di bidang NTEXT di tabel SQL Server 2005?

  5. Menghitung ukuran cadangan DB