oracle左连接查询,取右边第一个

select a.ID,a.GOODNAME,t.PICURL,p.PRICE
from QJ_GOODS_TB a left join (select * from(select b.*,row_number() over (partition by gid order by id desc) as px
                                from QJ_GOODPIC_TB b) e where px = 1) t
    on a.id = t.gid
    left join (select * from(select c.*,row_number() over (partition by gid order by id desc) as px
                                from QJ_GOODSPRICE_TB c where STATE = '0') e where px = 1) p
    on a.id = p.gid
    where a.firsttypeid = '152' and a.id = '461'

通过连接的内层控制条件,外侧控制数量



通过a表中的商品id和商品名,取出t表中的商品图片的第一个,再取出p表中的状态STATE='0' 的第一个价格,进行联查

你可能感兴趣的:(oracle左连接查询,取右边第一个)