如何合并为单行表返回多个数据的子查询?
Posted
技术标签:
【中文标题】如何合并为单行表返回多个数据的子查询?【英文标题】:How to merge Subquery which returns multiple data for single row of table? 【发布时间】:2019-08-24 11:11:02 【问题描述】:我的表格包含 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】:你似乎想要一个join
:
select t.*, cd.btwnDates
from input t join
customdatetable cd
on cd.btwnDates >= t.startdate and
cd.btwnDates >= t.enddate ;
【讨论】:
以上是关于如何合并为单行表返回多个数据的子查询?的主要内容,如果未能解决你的问题,请参考以下文章