こんにちは私はProjectSchemesとSchemesテーブルの両方に存在するScheme_Idを与える次のSQLクエリを持っています。ProjectSchemesテーブルへのレコードがないSchemesテーブルからすべてのレコードを削除したい。どうすればいいですか?助けてください。私はMSSQLを使用しています
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)
私は次のことをしようとしていますが、機能していません。動作しないということは、影響を受けるレコードがないことを意味しますが、Schemesテーブルを確認したところ、レコードが多すぎるため、ProjectSchemesテーブルでscheme_idが見つかりません。
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)