像这样的SQL语句怎么写?急!
有两个表!
A、公司信息表,公司ID,公司名称
ID gsmc
B、公司留言回复表,留言ID,留言时间,留言内容,公司ID
guestID,guest_time,guest_content,gsID
A表的ID等于B表的公司ID
现在查询出的结束是这样的
留言ID 公司名称 留言时间 留言内容
1 合肥公司1 2007-10-27 测试留言1
2 合肥公司1 2007-10-25 测试留言2
3 合肥公司1 2007-10-24 测试留言3
4 合肥公司2 2007-10-23 测试留言4
5 合肥公司3 2007-10-22 测试留言5
6 合肥公司3 2007-10-27 测试留言1
7 合肥公司2 2007-10-27 测试留言
8 合肥公司2 2007-10-28 测试留言
9 合肥公司4 2007-10-29 测试留言
我现在想要的结果是:
每个公司只需要一条结果,那就是日期最近的那一条结果!
------解决方案--------------------select t.留言ID , a.公司名称 , t.留言时间, t.留言内容 from a,
(
select m.* from b m,
(select 公司ID,max(留言时间) 留言时间 from b group by 公司ID) n
where m.公司ID = n.公司ID and m.公司ID = n.公司ID
) t
where a.公司ID = t.公司ID
order by t.留言ID