SQL从2个不同的表中选择

时间:2014-10-16 09:25:07

标签: sql postgresql

我正在尝试从两个表中选择数据,但我无法找出正确的方法。我有2张桌子 - 贷款和要求。 贷款具有此特定查询感兴趣的字段,例如status,loan_id。另一方面,requests表也有一些字段。我的查询试图从这两个表中获取数据:

SELECT a.request_id,
    a.request_date,
    a.customer_id,
    a.request_type,
    a.target_customer,
    a.customer_id,
    a.agent_number,
    a.merchant_number,
    a.bill_reference,
    d.loan_id,
    a.amount
   FROM loans d,
    requests a
    WHERE d.loan_status=12

这将返回一个结果,其中loan_id字段在每条记录中具有相同的值。 PS:此loan_id列可以为null,因为并非所有请求都是贷款申请。

2 个答案:

答案 0 :(得分:2)

您应该在请求表中有一个字段(例如loan_id),该字段引用loan表中的loan_id。在这种情况下,您将不得不使用以下查询

SELECT a.request_id,
a.request_date,
a.customer_id,
a.request_type,
a.target_customer,
a.customer_id,
a.agent_number,
a.merchant_number,
a.bill_reference,
d.loan_id,
a.amount
 FROM requests a left join  loans d on a.loan_id=d.loan_id
  where d.loan_status=12

答案 1 :(得分:0)

你必须使用像

这样的加入
SELECT a.request_id,
a.request_date,
a.customer_id,
a.request_type,
a.target_customer,
a.customer_id,
a.agent_number,
a.merchant_number,
a.bill_reference,
d.loan_id,
a.amount
 FROM loans d inner join
requests a
on d.loan_status=12