2014-09-26 81 views
0

我需要做兩個表的左連接:借記和付款。我有2個限額日期字段的借方(日期和數據直到)。我需要將一段時間的所有行從借方的所有行加入所有支付行,但不受限制字段的限制。left join where field exists or null

我的查詢是:

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

的問題是,我得到一個內,一個我還需要一個左連接。

我該如何解決這個問題?這是一種方式來說明,如果客戶存在於支付表中,將其限制在字段限制內,並且如果不將其與不支付的話???

謝謝

回答

1

將過濾器從where子句移動到連接。在這種情況下,你所要做的就是將「where」改爲「and」,Bob將成爲你的叔叔。

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 
條件