select a.* from [master] a left join (select MasterId as Id,max(PubDate) as PubDate from detail group by MasterId ) as b on a.id=b.id order by isnull(b.PubDate,'1900-1-1') desc
TRY select a.* from master a left join (select masterid,max(pubdate) as pubdate from detail)b on a.id=b.masterid order by b.pubdate desc
海兄想的真是全啊,把pubdate为空的情况都算进去了:)
我觉得不需要判断b.PubDate为空,数据库会自动把它排到末尾。select a.* from [master] a left join (select MasterId as Id,max(PubDate) as PubDate from detail group by MasterId ) as b on a.id=b.id order by b.PubDate desc
on a.id=b.id
order by isnull(b.PubDate,'1900-1-1') desc
select a.* from master a left join (select masterid,max(pubdate) as pubdate from detail)b on a.id=b.masterid
order by b.pubdate desc
on a.id=b.id
order by b.PubDate desc