sql - 最后一天的数据 向客户发送了一封提醒信
问题描述
我的查询遇到了问题。我的目标是让客户在过去 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 表中的字段类型,我尝试“翻译”迄今为止,但未能成功。 表属性
我希望你们能帮助我。
解决方案
我觉得你的表达方式太多了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
.
推荐阅读
- android - 通过按钮的onClick在fragment的布局中无法识别fragment中的方法
- assembly - 如何测量 i-cache
- django-models - 我的 Django 更新视图没有更新数据库中的信息有什么问题
- c# - 需要一些指导来了解 EF Core 在内部对此查询的作用
- python-3.x - AWS Lambda 和 S3 上的电话簿搜索
- c++ - C++ 有没有办法从另一个应用程序的值中找到一个内存地址?
- .net-core - Azure 服务总线 - 在 Web API 中使用多个发件人
- azure - 如何将“资源→容器”移动到 Azure Pipelines YAML 文件中的模板?
- c# - runtime:node 的语言工作者重新启动重试次数已超过。关闭并主动回收 Functions Host 以恢复
- angular - 如何使用 flex Layout 将 Angular 路由器的子组件的最小高度设置为 100%