提前感谢您回答我的问题。 假设我有一个像 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
仅根据样本数据推断。对于 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;