我有紅移一個表,有一個日期列加上其他一些數據:獲取從表中缺少日期在紅移
+------------+-------+
| 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