-1

我很难理解这个查询是否可行。我有 3 个表,用户、帐户、贷款。2 个用户通过一个帐户链接,并且他们两个之间促成的任何贷款都链接到 account_id。但是,当我想在表中显示数据时,我想显示用户表中的借款人姓名,以及贷款表中的贷款详细信息。但它是从 account 表中的 lenders_id 引用的。

这是ERD: 在此处输入图像描述

一个实际的例子是,如果您是贷方,想去仪表板查看您提供的所有贷款,但想查看借款人的姓名、本金金额、利率等,但什么都没有关于账户。

我希望决赛桌看起来像:

借款人姓名 | 本金金额 | 利率 | 还款日期 | 关系

到目前为止我有什么

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。这是我需要传递以查询要显示谁的贷款的变量。我很迷茫,任何帮助都会很棒。

4

2 回答 2

2

只需在查询中添加 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;
于 2020-08-31T15:45:39.023 回答
0

您可以添加一个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对列进行过滤。

于 2020-08-31T15:43:58.643 回答