如何关联t1与t2数据表,生成指定结构的查询结果?
解决方案
要得到你需要的关联结果,核心是让t1的每条记录关联t2中同id且插入时间不晚于当前t1记录插入时间的所有cv值,具体SQL语句如下:
SELECT t1.id, t1.base_id, t2.cv FROM t1 INNER JOIN t2 ON t1.id = t2.id AND t2.ins_dt <= t1.ins_dt ORDER BY t1.base_id, t2.cv;
逻辑说明
- 用
INNER JOIN关联两张表,先匹配相同的id,再筛选t2中插入时间早于或等于t1当前记录插入时间的行 - 对应结果规则:
t1中ins_dt为2024-03-27 00:00:00的记录,仅关联t2中同时间的OD和TPt1中ins_dt为2024-03-27 06:30:00及之后的记录,会关联t2中所有符合条件的OD、TP、PA
- 最后通过
ORDER BY保证结果排序和示例一致
内容的提问来源于stack exchange,提问作者Sundar
相关产品推荐
相关产品推荐

