Como TableAID
no existe en TableA
, la consulta está usando la columna de TableB
. Por lo tanto, la consulta es la misma que:
delete from TableB
where id in (
select TableB.TableAID
from TableA
where GUID = 'fdjkhflafdhf'
)
Entonces, en esencia, está haciendo:
delete from TableB
where id in (TableAID)
Si está utilizando subconsultas, es mejor mencionar los nombres de sus tablas al hacer referencia. Los siguientes VOLUNTARÁN lanzar una excepción:
delete from TableB
where id in (
select TableA.TableAID
from TableA
where TableA.GUID = 'fdjkhflafdhf'
)
Además, usaría un alias para que sepamos a qué consulta nos referimos:
delete from TableB
where id in (
select a.TableAID
from TableA a
where a.GUID = 'fdjkhflafdhf'
)