2013-06-29 22 views
1

如果我有一張帶有一對多連接表「乘客」的「汽車」表,我該如何刪除所有沒有一個或多個乘客的汽車命名爲「吉姆」?刪除所有記錄,除非有一個或多個子記錄符合條件

如果它變得更簡單,它們是一個靜態的其他乘客名稱。我們只說「Peggy」,「Maggy」和「Sue」。聽起來不像是那麼難,但我無法想象出我的生活。提前致謝!

回答

2

的一種方式,NOT EXISTS

DELETE c FROM Cars c 
WHERE NOT EXISTS 
(
    SELECT 1 FROM Passengers p 
    WHERE p.Name = 'Jim' 
     AND p.CarID = c.ID 
) 

Demo

推測CarID是外鍵和ID是在汽車的主鍵。

+0

完美工作。非常感謝您的快速回答! – user2535309

+0

@ user2535309如果你對這個答案感到滿意,那麼你應該接受它,點擊左邊的褪色滴答。 –

+0

我打算一旦被允許。仍然說我必須等待一段時間。 – user2535309