獲取沒有孩子的父母ID列表的最佳方式是什麼?沒有父母的sql列表記錄
CREATE TABLE parent (
ID PRIMARY KEY AUTO INCREMENT
);
CREATE TABLE child (
ID PRIMARY KEY AUTO INCREMENT
ParentID INT NOT NULL
);
獲取沒有孩子的父母ID列表的最佳方式是什麼?沒有父母的sql列表記錄
CREATE TABLE parent (
ID PRIMARY KEY AUTO INCREMENT
);
CREATE TABLE child (
ID PRIMARY KEY AUTO INCREMENT
ParentID INT NOT NULL
);
這是一種方式:
SELECT P.ParentID
FROM dbo.Parent P
LEFT JOIN (SELECT DISTINCT ParentId FROM child) C
ON P.ParentId = C.ParentId
WHERE C.ParentID IS NULL
這是另一種方式:
SELECT P.ParentID
FROM dbo.Parent P
WHERE NOT EXISTS (SELECT * FROM dbo.Child WHERE ParentId = P.ParentID)
select id from parent
where id not in (select distinct parentid from child)
根據您的SQL的味道:
select ID from parent minus select ParentID from child
Select Parent ID
from Parent
where ParentID NOT IN Select distinct ParentID from ChildTable
這會工作:)