2017-05-03 93 views
0

我有一個包含數據的表,我想用generategreser填充日期空白,但是我無法解決它。我怎樣才能將我的表加入到generate_series結果中?我嘗試如下:在PostgreSQL查詢中使用generate_series

SELECT series AS time, 
     data 
FROM generate_series('2012-11-11', '2012-11-12', '2 minutes'::interval) AS series 
LEFT JOIN data_table ON data_table.time = series 

在此日期範圍內的結果是:

   TIME    DATA 
     2012.11.11. 13:00:06 | data 1 
     2012.11.11. 13:08:06 | data 2 

我的目標會是這樣的相似:

  TIME   DATA 
    2012.11.11. 13:00:06 | data 1 
    2012.11.11. 13:02:06 | NULL 
    2012.11.11. 13:06:06 | NULL 
    2012.11.11. 13:08:06 | data 2 
    2012.11.11. 13:10:06 | NULL 
    2012.11.11. 13:12:06 | NULL 
    ... 

人體工程學的全表填充時間間隔爲2分鐘。我怎樣才能做到這一點?

回答

0

我認爲你的查詢應該工作。我會給一個列名的值:

SELECT g.series AS time, t.data 
FROM generate_series('2012-11-11', '2012-11-12', '2 minutes'::interval) AS g(series) LEFT JOIN 
     data_table t 
     ON t.time = g.series; 
+0

非常感謝!它工作得很好! – bummm26