取得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

posted @ 2017-12-07 17:32  ByteNotes  阅读(3931)  评论(3编辑  收藏  举报