获取前两个星期日 Date DB2

Get previous two Sundays Date DB2

我一直在四处寻找这个问题的答案,似乎有很多不同的“解决方案”,没有什么是我正在寻找的。我有以下 运行 很好的查询,但我需要能够将“2021-08-15”格式的日期修改为 select 最后一个星期日或上一个星期日,具体取决于列.我需要能够 运行 查询并获得动态结果,而不是每周手动更改日期。这是可能使用当前日期的东西吗?我所有的尝试都没有结果:

SELECT 
    RMD.ISSUE_ID,
    MAX(CASE WHEN AS_OF_DATE = '2021-08-15' THEN CURRENT.ISSUE_TITLE END) AS CURR_ISSUE_TITLE,
    MAX(CASE WHEN AS_OF_DATE = '2021-08-15' THEN CURRENT.MEMBER_IMPACT END) AS CURR_MEMBER_IMPACT,
    MAX(CASE WHEN AS_OF_DATE = '2021-08-08' THEN CURRENT.MEMBER_IMPACT END) AS PREV_MEMBER_IMPACT,
    MAX(CASE WHEN AS_OF_DATE = '2021-08-15' THEN CURRENT.ISM_STATUS END) AS CURR_ISM_STATUS,
    MAX(CASE WHEN AS_OF_DATE = '2021-08-15' THEN CURRENT.ISSUE_OWNER_ORG END) AS CURR_ISSUE_OWNER_ORG,
    MAX(CASE WHEN AS_OF_DATE = '2021-08-15' THEN CURRENT.ISSUE_OWNER END) AS CURR_ISSUE_OWNER,
    MAX(CASE WHEN AS_OF_DATE = '2021-08-15' THEN CURRENT.ISSUE_APPROVER END) AS CURR_ISSUE_APPROVER
FROM LOD.ISM_ISSUE_SUMMARY_HIST_WKY CURRENT INNER JOIN
     LOD.RMD_ISS_REMED_SUMMARY RMD
     ON CURRENT.ISSUE_ID = RMD.ISSUE_ID
WHERE AS_OF_DATE IN ('2021-08-08', '2021-08-15') 
GROUP BY RMD.ISSUE_ID
HAVING MAX(CASE WHEN AS_OF_DATE = '2021-08-08' THEN CURRENT.MEMBER_IMPACT END) <> MAX(CASE WHEN AS_OF_DATE = '2021-08-15' THEN CURRENT.MEMBER_IMPACT END) ;

如您所见,我对日期有很多依赖性,但它们要么是最近的,要么是前一个星期日。任何帮助或指导都会很棒,谢谢您的宝贵时间。

试试这个:

SELECT
  RMD.ISSUE_ID
, MAX(CASE WHEN AS_OF_DATE = t.last_sunday THEN CURRENT.ISSUE_TITLE END) AS CURR_ISSUE_TITLE
...

FROM LOD.ISM_ISSUE_SUMMARY_HIST_WKY CURRENT
JOIN LOD.RMD_ISS_REMED_SUMMARY RMD
 ON CURRENT.ISSUE_ID = RMD.ISSUE_ID

JOIN
(
  values
  (
    current date - (dayofweek_iso (current date)    ) days
  , current date - (dayofweek_iso (current date) + 7) days
  )
) t (last_sunday, prev_sunday)
ON AS_OF_DATE IN (t.last_sunday, t.prev_sunday)

GROUP BY RMD.ISSUE_ID
HAVING MAX(CASE WHEN AS_OF_DATE = t.prev_sunday THEN CURRENT.MEMBER_IMPACT END) <> MAX(CASE WHEN AS_OF_DATE = t.last_sunday THEN CURRENT.MEMBER_IMPACT END) ;

参考Date operations and durations and DAYOFWEEK_ISO scalar function.