我有红移一个表,有一个日期列加上其他一些数据:获取从表中缺少日期在红移
+------------+-------+
| Date | Value |
+------------+-------+
| 2016-09-25 | 1 |
| 2016-09-28 | 2 |
| 2016-09-29 | 3 |
+------------+-------+
我想从该表中“失踪”的日期。所以,从上面的,如果我想获得7天前的所有缺少的日期到现在为止的例子,我想产生返回查询:
2016-09-22
2016-09-23
2016-09-24
2016-09-26
2016-09-27
我尝试使用generate_series(..)函数来生成所有日期,然后将它们过滤出来,以存在于我的表中。所以,像这样:
select CURRENT_DATE + i as MyDate
from generate_series(date '2016-09-22'- CURRENT_DATE, date '2016-09-29' - CURRENT_DATE) i
where MyDate not in (select [Date] from MyTable)
在这种情况下,我有错误“MyDate”不存在。我试着使用也和EXCEPT条款,则产生错误:
INFO: Function "generate_series(integer,integer)" not supported.
[Err] ERROR: Specified types or functions (one per INFO message) not supported on Redshift tables.
各种其他的事情我已经试过产生的错误,我可以运行generate_series(..)时,其对自己的,但如果我试试吧与任何其他条款等它倒下。
这在Redshift中可以实现吗?
啊好吧试图避免这一点,但看起来没有太多的选择。我也尝试将日期加载到临时表中,但是,正如你所说,如果将它与任何东西结合 - 即使是插入,它也不起作用 – MartinM
我提供了一个可能感兴趣的答案:) – MartinM