2017-09-16 2 views
1

私は2つのビューを持っています。小切手での一つ:私はタブローのための足場のビューを必要とするカレンダービューで結合チェックビュー

Day 
2001.01.01 
2001.01.02 
2001.01.03 
... 
2100.12.31 

Check_Id Issued_Date Cleared_Date Amount 
1   2017.01.03  2017.02.04 100 
2   2017.03.03  2017.04.04 100 
3   2017.08.03     100 
... 

、別のはただのカレンダーです。私が達成したいのは、すべての小切手について、発行日から決済日までの日付のレコードがあることです。クリアされた日付がない場合は、時間の最後に移動します(この場合は2100.12.31)。

Check_id 1について、すなわち:私はそれを得るために読んだ

Day  Check_ID 
2017.01.03 1 
2017.01.03 1 
2017.01.03 1 
2017.01.03 1 
... 
2017.02.04 1 
2017.08.03 3 
2017.08.04 3 
2017.08.05 3 
2017.08.06 3 
... 
2100.12.31 3 

どれ先端またはスタッフ?ありがとう!

答えて

1

これは、非等価結合である:ゴードンは、それが最初の試みに取り組ん

select ca.day, c.check_id 
from checks c join 
    calendar ca 
    on ca.day >= c.issued_date and 
     (c.cleared_date is null or c.cleared_date >= ca.date); 
+0

ありがとう! –

関連する問題