我正在尝试缩小我的结果范围,并且需要一些关于如何做到这一点的意见。
我要做的是缩小范围,以便向我显示每个“类型”的最大邮件日期。因此,在这种情况下,我希望它在 2020 年 7 月 17 日向我显示 CatID MF 用于插入销售,并在 2018 年 8 月 31 日向我显示 WK 用于核心。
我在想也许我需要在我的 Where 子句下写一个案例陈述,但我不确定我会如何写,或者这是否是最好的方法。任何帮助将不胜感激!
代码:
SELECT
pc.packnum
,pc.CatID
,MAX(cc.firstreleasemailed) as Maildate
,v.Type
FROM pic704current pc JOIN
CatCov cc
ON pc.CatID = cc.Offer AND
pc.Year = cc.MailYear CROSS APPLY
(VALUES (Case when cc.description like '%Promo%' then 'Promo'
when cc.description like '%Sale%' then 'Insert Sale'
when cc.Description like '%ins%' and cc.Description not like '%sale%' then 'Insert Core'
when cc.description like '%ons%' then 'Onsert'
Else 'Core'
end)
) v(type)
WHERE pc.DiscountReasonCode Not in ('LT','UP', 'OR', 'ER', 'IP', 'WT')
AND
cc.firstreleasemailed <= getdate()
And pc.PackNum = '6762846'
GROUP BY pc.packnum, pc.CatID, v.type
电流输出:
PackNum CatID MailDate Type
------- ----- ---------- -----------
6762846 WA 2018-07-20 Core
6762846 WQ 2018-07-20 Core
6762846 MK 2019-02-15 Insert Sale
6762846 MF 2020-07-17 Insert Sale
6762846 MP 2020-03-27 Insert Sale
6762846 WK 2018-08-31 Core
6762846 LD 2020-07-10 Insert Sale
6762846 WM 2020-07-01 Insert Sale
6762846 LK 2019-01-04 Insert Sale