如何在Redshift中用提取自查询的值来提供extract或date_part?

时间:2018-06-22 15:24:23

标签: sql amazon-redshift

我正在尝试将查询修改为从查询值提供“ extract(来自datetime的字段)”中的日期起提取天,周,月等。

这是Redshift的。下面是我正在研究的简化示例。尝试为各种日期存储区创建摘要,而不必一遍又一遍地重复相同的查询。

SELECT
    visit_start_date_et,
    period_type,
    extract(period_type from visit_start_date_et) as Period
FROM f_visit_dates
  cross join d_period_type

名为f_visit_dates的输入表 具有单个日期列visit_start_date_et和两行:

visit_start_date_et
------------------- 
 '2017-03-14'
 '2018-05-06' 

名为d_period_type的输入表包含五行和一列varchar(10)列:

period_type
-----------
'doy'
'week'
'month'
'quarter'
'year'

输出应如下所示:

visit_start   period_type   period
-----------   -----------   ------
2017-03-14    day             73
2017-03-14    week            11
2017-03-14    month            3
2017-03-14    quarter          1
2017-03-14    year          2017
2018-05-06    day            126
2018-05-06    week            18
2018-05-06    month            5
2018-05-06    quarter          2
2018-05-06    year          2018

我还要补充一点,显然上述内容不起作用。我还尝试通过“ WITH”子句提供值,但这也不起作用。

0 个答案:

没有答案