左连接字段存在或为空

时间:2014-09-26 18:52:20

标签: sql join null left-join

我需要左表2联表:借记和付款。我在借方中有2个限制日期字段(日期和数据直到)。我需要将一段时间内借记的所有行加入付款的所有行,但需要加入限制字段。

我的查询是:

Select * from Debits a left join Payments b on a.client=b.client
where b.payments_date>=date_from and b.payments<=date_until

问题是我得到一个内心,我仍然需要一个左连接。

我该如何解决这个问题?这是一种说明客户是否存在于支付表中的方式将其限制为字段限制,如果不带来它没有付款???

由于

2 个答案:

答案 0 :(得分:1)

将过滤器从where子句移动到连接。在这种情况下,您所要做的就是更改单词&#34;其中&#34;到&#34;和&#34;鲍勃将成为你的叔叔。

答案 1 :(得分:0)

你很近,有这样的条件

Select *, isNULL(b.payments, 'No Payment') 
from Debits a 
left join Payments b 
on a.client=b.client
on b.payments_date>=date_from 
and b.payments>=date_until