【发布时间】:2018-03-30 20:00:43
【问题描述】:
我有多个表 (10+),我试图在其中提取指定日期范围之外的任何日期、列名(包含超出范围的日期)以及该日期行的 MODIFIED_BY。下面是两个示例表和所需的输出。 我在表 A 中检查的日期范围是大于 1990 年的出生日期。在表 B 中,生效日期大于 2017 年
TABLE_A
|---------------------|------------------|------------------|
| ACCT_ID | BIRTHDATE | MODIFIED_BY |
|---------------------|------------------|------------------|
| 12 | 04-MAR-96 | user1234 |
|---------------------|------------------|------------------|
| 13 | 10-MAY-79 | user9999 |
|---------------------|------------------|------------------|
TABLE_B
|---------------------|------------------|------------------|
| ACCT_ID | EFFECTIVE_DT | MODIFIED_BY |
|---------------------|------------------|------------------|
| 12 | 01-JAN-15 | user9876 |
|---------------------|------------------|------------------|
| 13 | 01-APR-17 | user1111 |
|---------------------|------------------|------------------|
输出
|---------------------|------------------|------------------|
| ACCT_ID | BAD_DATE | MODIFIED_BY |
|---------------------|------------------|------------------|
| 12 | 04-MAR-96 | user1234 |
|---------------------|------------------|------------------|
| 13 | 01-APR-17 | user1111 |
|---------------------|------------------|------------------|
我不是在寻找这个实例中的 SQL 代码,而是一个解决方案。我可能可以使用 UNION 完成此操作,但由于并非所有连接都在 acct_id 上,因此在为许多表执行此操作时可能会很乏味且速度很慢。我能够使用两列来完成此操作,一列是帐户 ID,另一列是 BAD_DATE,在其中我将列名和 modified_by 附加到案例返回。
感谢任何帮助。
谢谢!
【问题讨论】:
-
友情提示:校对您发布的内容。您写道:“和那个日期的行” 日期行的 what?我应该阅读您的帖子的其余部分,也许我能够弄清楚吗?
标签: sql oracle multiple-columns