取得left join的第二表中符合条件的第一条记录

Posted 古神

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了取得left join的第二表中符合条件的第一条记录相关的知识,希望对你有一定的参考价值。

问题描述

有表一 tableA
tid     username     title
1         lily       我公司将进行xx培训
2        angus      关于秋游的通知
3        boss       这个月不发奖金
4        vivi       新产品上市
表二 tableB
tid      time     txt
1        0809    大家快来。。。。
2        0810    我是新来的,大家好
2        0810    我知道你是新来的。。。
4        0811    价格太贵啦。。。

我想取得相同tid下的tableA的title跟对应的tableB中符合条件的第一条txt记录结合起来使用

注意:上面的tableB中有两条tid为2的记录,那么按我的要求只有前一条被提取。

大神操作:

select   a.*,
         ifnull(b.time,‘‘)  as time,
         ifnull(b.txt,‘‘)   as txt
from     tableA as a
         left join tableB as b
           on a.tid = b.tid
group by a.tid
order by a.tid

查询结果:
tid username            title                   time          txt
1        lily       我公司将进行xx培训       0809     大家快来。。。。
2      angus         关于秋游的通知        0810  我是新来的,大家好
3      boss         这个月不发奖金      
4       vivi            新产品上市              0811     价格太贵啦。。。

原博客地址:http://bbs.csdn.net/topics/270042408

以上是关于取得left join的第二表中符合条件的第一条记录的主要内容,如果未能解决你的问题,请参考以下文章

SQLServer LEFT JOIN 表中的第一条

oracle 表中有很多相同的记录,怎么只取满足条件的第一条?

怎样一个表中的2个查询结果合并到一个表中的两列

left join 右表对应多条记录取第一条

Oracle-left join两表关联只取B表匹配到的第一条记录

Oracle 数据库 - sql语句筛选出符合查询条件的第一条结果实例演示,sql查询结果只显示指定行数的数据方法