无法从 3 个不同的表加入 - MySql
Unable to join from 3 different tables - MySql
我很难理解这个查询是否可行。我有 3 tables,用户,账户,贷款。 2 个用户通过一个帐户链接,并且他们 2 之间促成的任何贷款都链接到 account_id。但是,当我想在 table 中显示数据时,我想显示用户 table 中的借款人姓名以及贷款 table 中的贷款详细信息。但它是从帐户 table.
中的 lenders_id 引用的
这是 ERD:
一个实际的例子是,如果你是贷款人,想去仪表板查看你已发放的所有贷款,但想查看借款人的姓名、本金金额、利率等等,与帐户无关。
我希望最终的 table 看起来像这样:
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 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
列来过滤它。
只需在您的查询中添加 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;
我很难理解这个查询是否可行。我有 3 tables,用户,账户,贷款。 2 个用户通过一个帐户链接,并且他们 2 之间促成的任何贷款都链接到 account_id。但是,当我想在 table 中显示数据时,我想显示用户 table 中的借款人姓名以及贷款 table 中的贷款详细信息。但它是从帐户 table.
中的 lenders_id 引用的这是 ERD:
一个实际的例子是,如果你是贷款人,想去仪表板查看你已发放的所有贷款,但想查看借款人的姓名、本金金额、利率等等,与帐户无关。
我希望最终的 table 看起来像这样:
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 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
列来过滤它。
只需在您的查询中添加 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;