Este es un problema conocido.
La siguiente declaración erróneamente delete
TODOS las filas de la tabla de usuarios:
DELETE FROM users WHERE user_id IN (SELECT user_id FROM groups);
incluso si la tabla de grupos no tiene una columna llamada user_id.
Sin embargo, la siguiente declaración arrojará un error:
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
EDITAR
DELETE TOP(1) FROM #Orders WHERE OrderID IN (SELECT OtherID FROM #LIST_TO_DELETE )
Invalid column name 'OtherID'
Esto arroja un error, porque OtherID
no existe en #Orders