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' )
プレ>