2014-11-27 4 views
0

Я пытаюсь удалить все CombinableOrders, которые не имеют Orders не связанных с нимиSQL удалить родительские записи без дочерних записей

Моя попытка

DELETE 
FROM CombinableOrders pr  
WHERE NOT EXISTS(SELECT * FROM Orders cr WHERE pr.Id = cr.CombinableOrder_Id) 

ошибка Sql сервер

Only one expression can be specified in the select list when the subquery is not introduced with EXISTS. 

I знать это должно быть простым

Update

Я думаю, что пр и кр вызывали проблемы и SQL дает мне ошибку для предыдущего оператора

ответ

0

Попробуйте это:

DELETE 
    CombinableOrders 
FROM 
    CombinableOrders 
WHERE 
    NOT EXISTS(SELECT 1 FROM Orders WHERE CombinableOrders.Id = Orders.CombinableOrder_Id) 
+1

Я думаю, что pr и cr вызывали probl em –

+0

Сделать CombinableOrders co и Orders o для удобочитаемости – gpullen

0

попробуйте следующее: DELETE ОТ CombinableOrders pr
ГДЕ ((ВЫБРАТЬ СЧЕТ (*) ОТ Заказов cr WHERE pr.Id = cr.CombinableOrder_Id) = 0)

Смежные вопросы