TableAID として TableA に存在しません 、クエリは TableB の列を使用しています .したがって、クエリは次と同じです:
delete from TableB where id in ( select TableB.TableAID from TableA where GUID = 'fdjkhflafdhf' )プレ>つまり、本質的には次のことを行っています:
delete from TableB where id in (TableAID)プレ>サブクエリを使用している場合は、参照するときにテーブル名を言及するのが最善です。次の意志 例外をスロー:
delete from TableB where id in ( select TableA.TableAID from TableA where TableA.GUID = 'fdjkhflafdhf' )プレ>さらに、参照しているクエリがわかるようにエイリアスを使用します。
delete from TableB where id in ( select a.TableAID from TableA a where a.GUID = 'fdjkhflafdhf' )プレ>