Comme TableAID
n'existe pas dans TableA
, la requête utilise la colonne de TableB
. Par conséquent, la requête est la même que :
delete from TableB
where id in (
select TableB.TableAID
from TableA
where GUID = 'fdjkhflafdhf'
)
Donc, en gros, ça marche :
delete from TableB
where id in (TableAID)
Si vous utilisez des sous-requêtes, il est préférable de mentionner les noms de vos tables lors du référencement. Le VOLONTÉ suivant lancer une exception :
delete from TableB
where id in (
select TableA.TableAID
from TableA
where TableA.GUID = 'fdjkhflafdhf'
)
De plus, j'utiliserais un alias pour que nous sachions à quelle requête nous nous référons :
delete from TableB
where id in (
select a.TableAID
from TableA a
where a.GUID = 'fdjkhflafdhf'
)