Может кто-нибудь объяснить, как выполняется этот запрос? Столбец credit_transaction_key
не существует в financial_transaction
, но он существует в financial_transaction_jnl
. Я не понимаю, почему этот запрос выполняется даже в том случае, если столбец находится в одной таблице, но не в другой таблице. Разве это не просто ошибка?Оператор удаления SQL удаляет вместо ошибки
delete from financial_transaction_jnl
where credit_transaction_key in
(select credit_transaction_key
from financial_transaction
where account_key in
(select account_key
from account
where created_by = (select USER_KEY
from USERS
where USER_ID = 'ME')
and created_dttm > Cast('2/16/2017' as datetime)
)
)
financial_transaction: financial_transaction_key account_key
financial_transaction_jnl: financial_transaction_jnl_key financial_transaction_key credit_transaction_key
Показать структуру таблицы для Financial_transaction. У меня проблемы с утверждением, которого он не существует. Но обратите внимание, что когеррированные подзапросы могут ссылаться на столбцы в пределах 1 уровня подзапроса. Поэтому, возможно, он возвращается к financial_transaction_jrnl и использует это значение как перекрестное соединение между financial_transaction_jrnl и financial_transaction. – xQbert