大侠,这个问题我弄了很久都没明白,求您帮帮我吧,大家好像都回家了。
这帖子我都发了好久啦,都没人帮我,好伤心啊!
http://topic.csdn.net/u/20080928/20/0fd8352f-3ebf-47c3-8859-4555db7934bb.html
我自己再尝试了另一种方法,还是不行:
selct tableA*,tableB.txt from tableA left join tableB on tableA.tid = tableB.tid where (select tid,max(time) from tableB group by tid order by max(time))也就是先筛选了tableB,使之得出不重复的匹配项,然后再用tableA 与 tableB联合,思路应该没错吧,但老是报语法错误。
求解。大家都忙着回家过十一了,我还要上班,祝大家十一快乐!同样祝跟我一样要值班的朋友十一快乐!
这帖子我都发了好久啦,都没人帮我,好伤心啊!
http://topic.csdn.net/u/20080928/20/0fd8352f-3ebf-47c3-8859-4555db7934bb.html
我自己再尝试了另一种方法,还是不行:
selct tableA*,tableB.txt from tableA left join tableB on tableA.tid = tableB.tid where (select tid,max(time) from tableB group by tid order by max(time))也就是先筛选了tableB,使之得出不重复的匹配项,然后再用tableA 与 tableB联合,思路应该没错吧,但老是报语法错误。
求解。大家都忙着回家过十一了,我还要上班,祝大家十一快乐!同样祝跟我一样要值班的朋友十一快乐!
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
query result
tid username title time txt
1 lily 我公司将进行xx培训 0809 大家快来。
2 angus 关于秋游的通知 0810 我是新来的,大家好
3 boss 这个月不发奖金
4 vivi 新产品上市 0811 价格太贵啦
表B按tid 分组,取time最大(小)再连接即可
select * from ba d left join (
select a.* from tid a inner join
(select tid,min(time) as ma from b group by tid ) c
on a.tid=b.tid and a.time=b.ma) e on d.tid=e.tid