【发布时间】:2021-03-17 02:48:28
【问题描述】:
我有 4 个表,分别称为 A、B、C、C_History。以下是每个表包含的内容。 cust_id 是所有表的通用标识符。
A - cust_id,status,cust_type
B - cust_id,acnt_nmbr,acnt_systm
C - cust_id,email,mod_date
C_History - cust_id,email,mod_date(与C相同,用于插入在C中被删除/更新的行)。
我需要编写一个查询结合以上所有表来提取 A.cust_id、B.acnt_nmbr、C.email(As New Email)、C_History(As Old Email)。
这里需要注意的是,A 和 B 表将只有一个 cust_id 记录,但 C 和 C_History 可以有多个电子邮件记录用于 cust_id。
所以从 C 表中,我只需要使用 mod_date(TIMESTAMP 数据类型)最新的单个电子邮件,
同样来自 C_Hisory,我只需要使用 mod_date 的最新电子邮件,但还有一个条件是,无论从 C_History 中选择的最新电子邮件,都不应与从 C 中选择的最新电子邮件相同。
请帮助解决这个问题,因为我在 2 天后一直在努力解决这个问题。
提前感谢传说。
【问题讨论】:
-
你试过什么SQL?
-
我用的是oracle sql developer,数据库是Oracle 12c