A表
id name
1 名字一
2 名字二B表
id a_id date
1 1 2007-01-01
2 1 2007-02-02
3 2 2007-03-03
4 2 2007-04-04select a.id,b.date from a left join b on a.id=b.a_id
这样可以取出:
1 2007-01-01
1 2007-02-02
2 2007-03-03
2 2007-04-04那么我如何将其中B表中ID较小的那条去掉呢?只留下:
1 2007-02-02
2 2007-04-04
谢谢。
id name
1 名字一
2 名字二B表
id a_id date
1 1 2007-01-01
2 1 2007-02-02
3 2 2007-03-03
4 2 2007-04-04select a.id,b.date from a left join b on a.id=b.a_id
这样可以取出:
1 2007-01-01
1 2007-02-02
2 2007-03-03
2 2007-04-04那么我如何将其中B表中ID较小的那条去掉呢?只留下:
1 2007-02-02
2 2007-04-04
谢谢。
B表中date项没有规律,可能ID大的date反而小,所以date不能用作条件,只能用ID来作条件比较。
select a_id,max(ID) from tt group by a_id
我需要取出的是A表的ID和B表中ID较大的DATE两个字段,其它字段不要。两表之间以A表的ID和B表的a_id关联,该怎样做呢?
(select a_id,max(id) as ma from tt group by a_id) a
inner join tt b
on a.a_id=b.a_id and a.id=b.ma