首页 > 解决方案 > 最后一天的数据 向客户发送了一封提醒信

问题描述

我的查询遇到了问题。我的目标是让客户在过去 14 天(滚动)收到提醒信,并且只获得他们收到的最后(最大)日期。以下是查询和结果。我只能将图片作为链接发布。 查询结果

select ar.AHCMP, ar.AHCUS#, cm.CMNAME, max(ar.AHDLTR)
from WSDATARG.ARIHDRFL ar
left join WSDATARG.CUSMASFL cm on CMCMP=AHCMP and CMCUS#=AHCUS#
where AHCMP in ('14','15','20')
and AHDLTR != '0'
--and AHDLTR between current_date-14 and current_date
group by ar.AHCMP, ar.AHCUS#, cm.CMNAME, ar.AHDLTR

正如您从结果中看到的那样,我为同一客户获得了不同日期的多行。并且 AHDLTR(发送日期提醒信)不想使用当前日期表达式。Zoned Decimal 表中的字段类型,我尝试“翻译”迄今为止,但未能成功。 表属性

我希望你们能帮助我。

标签: sqldb2

解决方案


我觉得你的表达方式太多了GROUP BY。尝试这个:

select ar.AHCMP, ar.AHCUS#, cm.CMNAME, max(ar.AHDLTR)
from WSDATARG.ARIHDRFL ar left join
     WSDATARG.CUSMASFL cm
     on cm.CMCMP = ar.AHCMP and
        cm.CMCUS# = ar.AHCUS#
where ar.AHCMP in ('14', '15', '20') and
      ar.AHDLTR <> '0' and
      ar.AHDLTR >= current_date - 14
group by ar.AHCMP, ar.AHCUS#, cm.CMNAME;

您应该只按select.


推荐阅读