我需要从已存储scd的现有表生成报告。
假设我有以下表格:
table1
!pip install --upgrade bert
table2
| Pid | eff_dt | exp_dt |
|-----|----------------------|----------------------|
| 489 | 2018-11-02T05:27:12Z | 9999-12-31T23:59:59Z |
| 546 | 2018-11-02T05:27:12Z | 2018-12-02T05:27:12Z |
| 546 | 2018-12-02T05:27:12Z | 9999-12-31T23:59:59Z |
预期输出为:
| Pid | val | eff_dt | exp_dt |
|-----|------|----------------------|----------------------|
| 489 | JD7G | 2018-11-02T05:24:16Z | 2018-11-09T05:40:47Z |
| 489 | JD7 | 2018-11-09T05:40:47Z | 9999-12-31T23:59:59Z |
| 546 | TR56 | 2018-11-09T05:40:47Z | 9999-12-31T23:59:59Z |
答案 0 :(得分:2)
您的问题可能更具体。在mysql
中的任何方式都可以运行简单的脚本:
Select table1.Pid, table2.val, table1.eff_dt, table1.exp_dt
From table1 Join table2
On(table1.Pid=table2.Pid)
答案 1 :(得分:1)
在您的帖子中保持eff_dt和exp_dt的逻辑不清楚。无论如何,我都保留了您的table1中的两个值。 (适用于您标记的大多数数据库;))
SELECT DISTINCT T2.Pid,T2.val,T1.eff_dt,T1.exp_dt
FROM table2 T2
INNER JOIN table1 T1 ON T2.pid = T1.Pid
输出如下-
Pid val eff_dt exp_dt
489 JD7 2018-11-02 05:27:12.049 9999-12-31 23:59:59.000
489 JD7G 2018-11-02 05:27:12.049 9999-12-31 23:59:59.000
546 TR56 2018-11-02 05:27:12.049 2018-12-02 05:27:12.049
546 TR56 2018-12-02 05:27:12.049 9999-12-31 23:59:59.000
您还可以在Fiddle
中查看结果