2017-05-03 20 views
0

データがあるテーブルがあり、PostgreSQLのgenerate_seriesで日付の隙間を埋める必要がありますが、解決できません。どのようにしてテーブルをgenerate_seriesの結果に結合できますか?PostgreSQLクエリでgenerate_seriesを使用する

  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 
    ... 

エルゴテーブル全体でいっぱい:

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

私の目的は、このような類似した、次のようになります。結果は、この日付範囲で

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 

:私の試みは、以下のとおりです。 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

関連する問題