首页 > 解决方案 > 基于特定日期的自我加入和聚合(红移)

问题描述

在此处输入图像描述

嗨,大家好,

我正在尝试进行自联接并以格式获取数据,但是,我得到的数据不正确。qty我需要根据art_no, site,manufact对每个evt_start日期进行总结。evt_start日期应介于和evt_start之间date2

select sum(a.qty) as over_all_qty,
b.art_no,b.site,b.evt,b.evt_start,a.manufact

from wo_sup a

left join wo_sup b on a.site = b.site
and a.art_no = b.art_no
and a.manufact = b.manufact
and a.evt_start = b.evt_start

where a.evt_start between b.evt_start and b.date2

group by 

b.art_no,b.site,b.evt,b.evt_start,a.manufact

标签: sqlamazon-redshift

解决方案


您的 evt_start 日期(均为 2020 年)小于除一条记录之外的所有记录的 date2 列。

因此,您的数据集不正确或您想要做的是:

a.evt_start between b.date2 and b.evt_start

因此,更改您的数据集或“介于”条件,您将获得答案中的所有 4 行。


推荐阅读