Наличие ошибки MySQL # 1242 - PullRequest
0 голосов
/ 27 июня 2018

Проблема состоит в том, чтобы вычесть 1% платы за обслуживание из баланса сберегательного счета, который имеет как кредитный, так и сберегательный счет.

Схема

таблица "филиалов" (имя_расхождения, филиал_город, активы)

таблица "customer" (customer_name, customer_street, customer_city)

таблица «account» (номер счета, имя филиала, баланс)

таблица ссуд (номер займа, имя филиала, сумма)

таблица «вкладчик» (customer_name, account_number)

таблица «заемщик» (customer_name, loan_number)

Я пробовал с этим:

update account
-> set balance=balance*0.99

-> where (select distinct customer_name from 

->borrower where customer_name in(select 

->customer_name from depositor));

но получаю ошибку 1242. может кто-нибудь помочь мне с этим?

Ответы [ 2 ]

0 голосов
/ 27 июня 2018

Пожалуйста, используйте INNER JOIN вместо предложения where.

update account
-> set balance=balance*0.99

-> where (select distinct borrower.customer_name from 

->borrower INNER JOIN depositor  ON borrower.customer_name = depositor.customer_name));
0 голосов
/ 27 июня 2018

Учетная запись таблицы не имеет ссылок на customer_name.

Попробуй вот так

update account set balance=balance*99 where account_number in (select account_number from depositor); 
...