返回

ssms-SQL代码如何在历史表中进行迭代

发布时间:2022-09-08 15:42:52 425
# 数据

我需要有关 SQL 的帮助

我有一个名为 A 的历史表。它有月份 ID、srvc 键等。

我需要检查 custkey 是否是该表 A 中的新客户。逻辑是 - 查看该 cust 密钥对于当前月份的 ID 是否是新的并且在之前的月份不存在(小于当前月份的 ID)。

为了显示,

我的当前月份 ID = Feb2022 cust 密钥必须存在于 Feb2022 但不能存在于 2022 年 1 月、2021 年 12 月……等等。

此外,是否可以标记 cust 密钥是否存在于 2022 年 2 月和 2022 年 1 月但不存在于 2021 年 12 月,等等。

select A.\*,B.level_1, B.level_2, B.level_3, B.LE,
case when cust_key in ('2100707688',
'1xxx4',
'1xxxx',
'28xxxx1',
'2xxxxxx',
) then 'New' else 'Old' end as Tag,
A.NET_AMT/(nullif(A.prod_cnt,0)\*B.LE) as ARPU

感谢您的回复,我需要的是下面的示例历史表中的数据,我需要标记当月(202202)的新数据。它们是新的,因为CNumber2在20220111220211年没有出现。我不在乎它是否出现在202110及以下。我只关心最近三个月没有出现的CNumber。

表A

基于此示例,只有CNumber 2满足此规则。

Next, I would want to tag also CNumber who is new for Jan2022.

在这种情况下,当前monthID=202201。现在,CNumber不应该出现在20211220211202110中,以便能够

下一步,还要标记2022年12月的新成员CNumber。现在,CNumber不应该出现在2021120210202109中,以便能够判断它们是新的。

等等

我的目标是在2月2022、2022、12月2021号等新客户,等等。

特别声明:以上内容(图片及文字)均为互联网收集或者用户上传发布,本站仅提供信息存储服务!如有侵权或有涉及法律问题请联系我们。
举报
评论区(1)
按点赞数排序
用户头像