在连接表上使用DISTINCT

时间:2013-09-23 14:20:09

标签: sql

我有两张桌子:LOFTEN和LOAN_APPROVALS。我所做的是从表格中获取金额的总和。

首先,我正在做以下事情:

select sum(l.amount) from loften l

这样可以正常工作,并给我结果15899000。

但是,如果我在HTML表单中添加了搜索过滤器,那么我必须再进行第二次SQL查询,并且必须过滤的数据在LOAN_APPROVALS表中。下面的查询按预期运行,但它返回110267000。

select sum(l.amount) from loften l
inner join loan_approvals la on la.loanid = l.loanid

由于LOAN_APPROVALS表中有多个条目用于相同的贷款ID(同一笔贷款已被多家银行批准),我必须以某种方式在该表上运行不同的。很像:

select DISTINCT sum(l.amount) from loften l
inner join loan_approvals la on la.loanid = l.loanid

当然,这不是正确的方法。我不知道该怎么做。有人可以帮忙吗?非常感谢!

/鲍勃

1 个答案:

答案 0 :(得分:3)

你需要加入吗?这应该有效:

select 
     sum(amount) 
from 
     loften
where
     loanid in (
         select loanid from loan_approvals
     )