mysql - 出现 MySQL 错误 #1242
问题描述
问题是从有贷款和储蓄账户的储蓄账户余额中扣除 1% 的服务费。
架构是
“分支”表(分支名称、分支城市、资产)
“客户”表(客户名称、客户街道、客户城市)
“账户”表(account_number、branch_name、balance)
“贷款”表(loan_number、branch_name、amount)
“存款人”表(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。有人可以帮我解决这个问题吗?
解决方案
请使用 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));
推荐阅读
- python - 在 Pytorch OD 中使用 Albumentations 进行增强
- python - TypeError:预期的 str、bytes 或 os.PathLike 对象,而不是 Django 中的 JpegImageFile(或 PngImageFile)
- android - Android,Contacts Contract:存储和检索自定义数据
- node.js - 从 Watson Assistant 获取 turn_count
- javascript - 这个开玩笑的测试设置有什么问题?
- javascript - 如何在 JSDoc 和 TypeScript 中编写原型的参数类型?
- python - 如果用户提供相同的输入超过 X 时间打印一些东西
- swift - 如何防止浮动调色板窗口被视为文档
- r - 从光栅砖创建的数据框太大并且很多零值
- reactjs - 如何在 React 应用程序中重新渲染 Uppy 实例时保留我已经上传的图像的图像预览