Hallo habe ich die folgende SQL-Abfrage, die mir gibt Scheme_Id die beide existieren in ProjectSchemes und Schemes Tabelle. Ich möchte alle Datensätze von Schemas Tabelle löschen, die keinen Datensatz zu ProjectSchemes Tabelle haben. Wie kann ich das tun? Bitte helfen Sie. Ich verwende MSSQLSo löschen Sie Datensätze NICHT IN
select scheme_id from Schemes where Scheme_Id
in(select s.Scheme_Id from Projects p
inner join ProjectSchemes ps on ps.Project_Id=p.Project_Id
inner join Schemes s on s.Scheme_Id=ps.Scheme_Id)
Ich versuche, das folgende zu tun, aber es funktioniert nicht. Ein Problem Mittel keine Datensätze betroffen, aber wie ich meine Schemes Tabelle überprüft, es gibt so viele Datensätze, die ihre scheme_id nicht auf der ProjectSchemes Tabelle entnommen werden können
delete from Schemes where Scheme_Id
not in(select s.Scheme_Id from Projects p
inner join ProjectSchemes ps on ps.Project_Id=p.Project_Id
inner join Schemes s on s.Scheme_Id=ps.Scheme_Id)
Was bedeutet "nicht funktioniert"? – wallyk
Was bekommen Sie zurück? – uvinod
Ihr Subselect gibt wahrscheinlich NULL-Werte zurück. Siehe Rachchas Antwort für eine Lösung. Und Sie sollten Ihr DBMS angeben. –