select work.id, work.name, comments.title
from work, comments
where work.id=comments.id
order by work.id desc
试一试

解决方案 »

  1.   

    这样不行,这样是显示work和comments表中id相同的记录,我的意思是,一个work可能对应多个comment,如果该work对应有comment,显示work.id,work.name,最新的comment.title。如果该work对应没有comment,显示work.id,work.name,null。请问有办法实现吗?
      

  2.   

    select X.id, X.name, Y.title
    from work X,
    (select work,title FROM comments a WHERE a.rowid = (SELECT max(b.rowid) FROM comments b WHERE a.work= b.work) ) Y
    where X.id=Y.work(+);可以考虑将Y写成视图
      

  3.   

    谢谢提供思路,把Max改成Min,搞定了。就是想把结果写成视图方便在程序中访问的:)
    select X.id, X.name, Y.title
    from work X,
    (select work,title FROM comments a WHERE a.rowid = (SELECT Min(b.rowid) FROM comments b WHERE a.work= b.work) ) Y
    where X.id=Y.work(+) Order By x.Id Desc;