如何实现三张表的JOIN查询?获取账户租金、余额及关联邮箱
修正后的跨表关联SQL查询
你写的SQL里关联条件完全搞反了,导致表之间无法正确匹配。正确的关联逻辑应该是:
account.account和account.deposit通过AccountId关联(一个账户对应一笔存款记录)account.account和customer.customer通过CustomerId关联(一个客户对应一个账户)
下面是修正后的SQL语句,同时简化了表别名让代码更易读:
SELECT acc.RentAmount, dep.Balance, cust.EmailAddress FROM account.account acc INNER JOIN account.deposit dep ON acc.AccountId = dep.AccountId -- 账户与存款通过AccountId关联 INNER JOIN customer.customer cust ON acc.CustomerId = cust.CustomerId -- 账户与客户通过CustomerId关联
说明:
- 用别名
acc、dep、cust替代冗长的表名,提升可读性 - 只保留你需要的三个字段:租金金额、余额、客户邮箱
- 两个INNER JOIN的条件都对应了表之间的实际关联关系,确保数据匹配正确
内容的提问来源于stack exchange,提问作者Nad
相关产品推荐
相关产品推荐

