无法从3个不同的表加入-MySQL

如何解决无法从3个不同的表加入-MySQL

我正在努力了解此查询是否可行。我有3个表格:用户,帐户,贷款。 2个用户通过一个帐户链接,并且在这2个用户之间促成的任何贷款都链接到account_id。但是,当我想在表中显示数据时,我想从用户表中显示借款人名称,并从贷款表中显示贷款明细。但这是从帐户表中的lenders_id引用的。

这是ERD:

enter image description here

一个实际的例子是,如果您是贷方,并且想去仪表板查看您已发放的所有贷款,但想查看借款人的姓名,本金,利率等。并没有关于该帐户的任何信息。

我希望决赛桌看起来像这样:

BorrwerName |本金|利息率|还款日期|关系

我到目前为止有什么

SELECT user.first_name,user.last_name,loan.principal,loan.interest_rate,loan.repayment_date,account.relationship
FROM user
INNER JOIN account ON account.borrower_id = user.id
INNER JOIN loan ON loan.account_id = account.id

这里的问题是,我什至没有在哪里引用Lender_ID。这是我需要传递来查询显示其贷款的变量。我很失落,任何帮助都会很棒。

解决方法

只需在查询中添加where子句:

SELECT user.first_name,user.last_name,loan.principal,loan.interest_rate,loan.repayment_date,account.relationship
FROM user
INNER JOIN account ON account.borrower_id = user.id
INNER JOIN loan ON loan.account_id = account.id
where account.lender_id = value_to_be_searched;
,

您可以添加一个WHERE子句:

SELECT u.first_name,u.last_name,l.principal,l.interest_rate,l.repayment_date,a.relationship
FROM user u JOIN
     account a
     ON a.borrower_id = u.id JOIN
     loan l
     ON l.account_id = a.id
WHERE a.lender_id = ?;

您不需要SELECT列来对其进行过滤。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?
Java在半透明框架/面板/组件上重新绘画。
Java“ Class.forName()”和“ Class.forName()。newInstance()”之间有什么区别?
在此环境中不提供编译器。也许是在JRE而不是JDK上运行?
Java用相同的方法在一个类中实现两个接口。哪种接口方法被覆盖?
Java 什么是Runtime.getRuntime()。totalMemory()和freeMemory()?
java.library.path中的java.lang.UnsatisfiedLinkError否*****。dll
JavaFX“位置是必需的。” 即使在同一包装中
Java 导入两个具有相同名称的类。怎么处理?
Java 是否应该在HttpServletResponse.getOutputStream()/。getWriter()上调用.close()?
Java RegEx元字符(。)和普通点?