在PostgreSQL查询中使用generate_系列

在PostgreSQL查询中使用generate_系列,sql,postgresql,generate-series,Sql,Postgresql,Generate Series,我有一个包含数据的表,我想用PostgreSQL生成_系列来填补日期空白,但我无法解决这个问题。我如何将我的表连接到生成_系列结果?我的尝试如下: 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 在此日期范围内,

我有一个包含数据的表,我想用PostgreSQL生成_系列来填补日期空白,但我无法解决这个问题。我如何将我的表连接到生成_系列结果?我的尝试如下:

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分钟的间隔填充时间行。我怎样才能做到这一点呢?

我认为您的查询应该有效。我将为该值指定一个列名:

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;