Существует две таблицы: report (который имеет первичный ключ reportId и битовое поле с именем migrated) и report_detail (который имеет внешний ключ reportId).Я хочу удалить все строки из report_detail, у которых есть reportId, который в таблице отчетов перенесен = 1. Это запрос на выборку, который выбирает все нужные мне строки:
select *
from report r inner join report_detail d
on r.reportId = d.reportId
where migrated = 1
Будет ли это удаленозапрос делать то, что я хочу, или я делаю что-то не так?
delete from report_detail
where exists(
select *
from report r inner join report_detail d
on r.reportId = d.reportId
where migrated = 1
)