我有两个观点。一个有支票:
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
...
另一个只是日历:
Day
2001.01.01
2001.01.02
2001.01.03
...
2100.12.31
我需要Tableau的脚手架视图。我想要实现的是,对于每张支票,在发行日期到清算日期之间的日期都有记录。如果没有清除日期,只需到时间结束(在这种情况下为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
我读过的任何小费或东西都能得到它吗?谢谢!
答案 0 :(得分: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);