Estou tentando excluir registros da #tableA que não existem na #tableB. Parece bem simples, no entanto, estou recebendo o
identificador multi-parte #TABLEA.MODELNO não pode ser vinculado
mesmo que a coluna "modelno" exista na tabelaA. O que estou esquecendo?
DELETE FROM #TABLEA
WHERE EXISTS (SELECT 1 FROM #TABLEB WHERE #TABLEB.MODEL = #TABLEA.MODELNO)
Gostaria de evitar usar WHERE MODELNO IN()
por questões de desempenho.
Sua sintaxe está errada, e a
DELETE
palavra-chave deve ser seguida por um alvo. Supondo que você alias ambas as tabelas, o seguinte deve funcionar:Se você quiser usar uma abordagem de junção, a seguinte antijunção com a ajuda de um CTE deve funcionar: