Last record of Join table

后端 未结 7 1013
忘了有多久
忘了有多久 2021-01-06 16:05

I am lookign for the correct SQL code to join 2 tables and show only the last record of the details table.

I have a DB with 2 tables,

Deals 
   Deal         


        
7条回答
  •  一向
    一向 (楼主)
    2021-01-06 16:50

    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)
    

    EDIT: I didn't read the initial question close enough and didn't notice that all DEALS rows were needed in the view. Below is my revised answer:

    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)
    

提交回复
热议问题