mysql leftjoin只取一条的方法

根据时间匹配,需要找到关联的记录表里, 在主表时间之前的第一条记录

查了下百度,有的根据leftjoin子查询里面row_number做的. 但是leftjoin的子查询不能引用其他表

最后还是查谷歌找到了解决办法

https://stackoverflow.com/questions/15626493/left-join-only-first-row

 

把关联表CreateTime在主表StartTime后面的第一条, leftjoin到主表后边: 

SELECT zb.StartTime,glb.CreateTime FROM 主表 zb
left join 关联表 glb on glb.ID=(
        select ID from 关联表 t where t.CreateTime

 

你可能感兴趣的:(数据库)