нет, это очевидно
проблема в том что ошибки нет и запрос отрабатывает, причем в результате возвращается все записи таблицы TMP1.
В этом собсвтенно и вопрос: почему так?
потому что a - видно в запросе в области were, если бы оно было в темп2 то бралось бы оттуда, а так - берётся из более высокого уровня, из темп1, потому и нет ошибки