select a.dealid
, a.dealname
, a.dealdetails
, b.dcid
, b.commenttime
, b.commentperson
, b.comment
from deals a, dealcomments b
where b.dealid = a.dealid
and b.commenttime = (select max(x.commenttime)
from dealcomments x
where x.dealid = b.dealid)
编辑:我没看过最初的问题足够接近,并没有注意到,都需要在查看所有优惠券行。下面是我的修订答案:
select a.dealid
, a.dealname
, a.dealdetails
, b.dcid
, b.commenttime
, b.commentperson
, b.comment
from deals a left outer join (select x.dcid
, x.dealid
, x.commenttime
, x.commentperson
, x.comment
from dealcomments x
where x.commenttime = (select max(x1.commenttime)
from dealcomments x1
where x1.dealid = x.dealid)) b
on (a.dealid = b.dealid)
你想要什么,如果对于一些交易有两个或更多最后的评论与完全相同的时间? – 2009-07-04 23:22:58