我是Teradata的新手。 我想生成带有相应“客户ID”的“电子邮件地址”。如果“客户ID”有多个“电子邮件地址”,那么我将转到“更新日期”栏,检查最新更新并打印所需的最新电子邮件地址。如果更新后的电子邮件地址为空,那么我将转到上一个日期并打印相应的电子邮件地址。
我尝试过
Qualify row_number() over (Partition by customerID order by updatedDate, email desc ) = 1
我在这里得到一个空值
Qualify row_number() over (Partition by customerID order by updatedDate, email nulls last) = 1
在这里我找不到最新的
你能不能请任何人帮助我。预先谢谢你。
答案 0 :(得分:0)
如果您只想要非空的电子邮件地址,并且如果保留重复的电子邮件地址,则具有最新更新日期的电子邮件地址,请考虑:
WHERE email IS NOT NULL
QUALIFY row_number() OVER (PARTITION BY customerID ORDER BY updatedDate DESC NULLS LAST) = 1
这将为每个customerID