如何合并子查询,该查询为表的单行返回多个数据?

时间:2019-08-24 11:11:02

标签: sql amazon-redshift amazon-redshift-spectrum

我的表包含startDate和endDate列,因此,如果我有所不同,则它之间有很多天,我可以使用其中一个自定义表来完成。

select btwnDates from CustomDateTable where btwnDates between '2019-01-5' and '2019-01-7';
2019-01-5
2019-01-6
2019-01-7

现在,我想将此输出与表的其他列合并。

我的输入表具有值:

titles       description       startDate        endDate 
homelone     homeloan_policy   2018-06-07      2018-06-09  
carlone      carloan_policy    2019-07-18      2019-07-18

输出应类似于:

titles       description     startDate        endDate          Day  
homelone   homeloan_policy   2018-06-07      2018-06-09     2018-06-07 
homelone   homeloan_policy   2018-06-07      2018-06-09     2018-06-08 
homelone   homeloan_policy   2018-06-07      2018-06-09     2018-06-09 
carlone    carloan_policy    2019-07-18      2019-07-18     2019-07-18

我发现json_extract_array_element_text函数具有相同的功能,但它适用于json值,也尝试在redshift中尝试使用数组,但没有运气。

我是redshift及其查询的新手。

1 个答案:

答案 0 :(得分:0)

您似乎想要一个join

select t.*, cd.btwnDates
from input t join
     customdatetable cd
     on cd.btwnDates >= t.startdate and
        cd.btwnDates >= t.enddate ;
相关问题