我期待從零星基礎上發生的事件日誌中獲取值,並在事件之間的所有日期擴展這些值。例如:左側連接產生內部連接結果 - PostgreSQL
全系列可能看起來像......
2013-01-01
2013-01-02
2013-01-03
2013-01-04
2013-01-05
但在事件日誌看起來像......
2013-01-01 | value_1
2013-01-04 | value_2
期望的最終結果如下...
2013-01-01 | value 1
2013-01-02 | value 1
2013-01-03 | value 1
2013-01-04 | value 2
2013-01-05 | value 2
作爲解決方案,我試圖生成一系列完整的日期,並將選擇性事件日誌日期加入到完整系列中,然後用所需的值填充NULL值,但是我遇到了左連接產生內連接結果的問題。
select
days.date,
e.value
from
--Generate table for dates
(select
row_number() over(),
generate_series::date as date
from
generate_series('2009-01-01',current_date + interval '100 days',interval '1 day')) days
--Combine actual change log
left join
(select
value,
event_date
from event_table
where type = 'desired_type') e
on days.date = e.event_date
我的結果集是不是1669行全日期,但只有少數e.value,而只是一排的每個非空days.date,e.value組合。在視覺上,而不是...
2009-01-01 | value 1
2009-01-02 | NULL
2009-01-03 | NULL
2009-01-04 | value 2
2009-01-05 | NULL
...
...我得到...
2009-01-01 | value 1
2009-01-04 | value 2
...
,我期望我們用一個內部聯接,而不是一個左連接從幾天到E。
這就是你所有的查詢?你沒有'where'條款嗎? –