Il y a 2 tables: rapport (qui a une clé primaire de reportId et un champ de bits appelé migré) et report_detail (qui a une clé étrangère de reportId). Je veux supprimer toutes les lignes de report_detail qui ont une reportId qui, dans le tableau de rapport, a migré = 1. Ceci est la requête de sélection qui sélectionne toutes les lignes que je veux:J'ai une requête de suppression SQL
select *
from report r inner join report_detail d
on r.reportId = d.reportId
where migrated = 1
Est-ce que cette suppression requête ne ce que je veux ou suis-je en train de faire quelque chose de mal?
delete from report_detail
where exists(
select *
from report r inner join report_detail d
on r.reportId = d.reportId
where migrated = 1
)
S'il vous plaît marquer votre question avec la marque de base de données (s) que vous utilisez, par exemple 'mysql' ou' sql-server'. La réponse peut être différente selon la base de données que vous utilisez. –