您好我有以下SQL查詢,給了我在ProjectSchemes和方案表一個scheme_id其中同時存在。我想刪除Scheme表中沒有記錄的所有記錄到ProjectSchemes表。我該怎麼做?請幫忙。我使用的是MSSQL如何刪除記錄NOT 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)
我試着做以下,但它不工作。不工作方式的影響沒有記錄,但我檢查了我的計劃表也有自己的一個scheme_id不能在ProjectSchemes表中找到
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)
「不工作」是什麼意思? – wallyk 2013-02-19 09:09:49
你有什麼回報? – uvinod 2013-02-19 09:11:10
您的子選擇可能會返回NULL值。請參閱Rachcha的解決方案答案。你應該指定你的DBMS。 – 2013-02-19 09:15:36