无论先前记录中可用的数据是什么,都应该添加到新记录中

问题描述 投票:0回答:1

提前感谢您回答我的问题。 假设我有一个像 t1 这样的表。表中有 3 列。

t1.id       t1.ins_dt           base_id
10000       2024-03-27 00:00:00 1234/45678/000/00
10000       2024-03-27 06:30:00 1234/45678/001/00
10000       2024-03-27 09:30:00 1234/45678/002/00

我还有另一张桌子,比如 t2。

t2.id    t2.ins_dt              t2.cv
10000    2024-03-27 00:00:00    OD
10000    2024-03-27 00:00:00    TP
10000    2024-03-27 06:30:00    PA

如果我加入这两个表,我想要的输出如下,

t1.id     t1.base_id           t2.cv
10000     1234/45678/000/00    OD
10000     1234/45678/000/00    TP
10000     1234/45678/001/00    OD
10000     1234/45678/001/00    TP
10000     1234/45678/001/00    PA
10000     1234/45678/002/00    OD
10000     1234/45678/002/00    TP
10000     1234/45678/002/00    PA
sql oracle oracle11g oracle-sqldeveloper oracle10g
1个回答
0
投票

仅根据样本数据推断。对于 t1.ins_dt 或早于 t1.ins_dt 的每个 t2.ins_dt,在 id 上将 t1 与 t2 连接起来。

小提琴:https://dbfiddle.uk/It5hFkbh

select t1.id,
       t1.base_id,
       t2.cv
  from t1
 inner
  join t2
    on t1.id = t2.id
   and t1.ins_dt >= t2.ins_dt
 order
    by t1.ins_dt,
       t2.cv;
© www.soinside.com 2019 - 2024. All rights reserved.