Il s'agit d'un problème connu.
L'instruction suivante va delete
par erreur TOUS les lignes de la table des utilisateurs :
DELETE FROM users WHERE user_id IN (SELECT user_id FROM groups);
même si la table des groupes n'a pas de colonne nommée user_id.
L'instruction suivante générera cependant une erreur :
DELETE FROM users WHERE user_id IN (SELECT g.user_id FROM groups g);
Msg 207, Level 16, State 1, Line 1
Invalid column name user_id
MODIFIER
DELETE TOP(1) FROM #Orders WHERE OrderID IN (SELECT OtherID FROM #LIST_TO_DELETE )
Invalid column name 'OtherID'
Cela génère une erreur, car OtherID
n'existe pas dans #Orders