Teradata,生成不为空的最新电子邮件地址以及相应的客户ID

时间:2019-06-17 05:45:07

标签: teradata teradata-sql-assistant

我是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

在这里我找不到最新的

你能不能请任何人帮助我。预先谢谢你。

1 个答案:

答案 0 :(得分:0)

如果您只想要非空的电子邮件地址,并且如果保留重复的电子邮件地址,则具有最新更新日期的电子邮件地址,请考虑:

WHERE email IS NOT NULL
QUALIFY row_number() OVER (PARTITION BY customerID ORDER BY updatedDate DESC NULLS LAST) = 1 

这将为每个customerID

选择最新的非空电子邮件地址