我有以下 CASE
语句。它根据 CASE
语句计算日期。如果它要为记录提供一个低于它提供上一条记录的日期的日期,我如何让它跳过记录?
SELECT
CASE
-- If there is a already a date, use it
WHEN LENGTH(DT) = 8 THEN DT::DATE
WHEN '2019Q1' >= '2018Q1'
--There are some additional conditions that are in this THEN statement. For simplicity sake, I have removed them.
THEN THRU_DT::DATE - 30
ELSE THRU_DT::DATE
END AS DT
FROM table;
输入 -
patient_num dt claim_no
232 2423
232 3323
输出 -
patient_num dt claim_no
232 2018-08-01 2423
232 2018-07-01 3323
预期输出
patient_num dt claim_no
232 2018-08-01 2423
232 3323
我不希望为第二条记录指定日期,因为该日期小于为第一条记录指定的日期。
请注意,一个特定的患者可以有多个记录。我仅使用上面的两条记录来展示我所期望的示例。