【问题标题】:how to pull latest record for each ID from 2 tables in Oracle SQL [duplicate]如何从Oracle SQL中的2个表中提取每个ID的最新记录[重复]
【发布时间】:2021-11-02 05:53:33
【问题描述】:

我有 2 个表名为 - Productsold_product

sold_product

product_code    sold_date   product_id  product_rating
46077862546     18/08/21    380         3.5
41237862546     18/08/21    300         5.0
41237862789     06/08/21    356         4.0
            

产品

product_id  product_name    rack_no 
380         Television      5   
344         Refridgerator   4   
333         Air Conditioner 6   

现在我需要为每个带有 product_code 和 product_name 的 product_id 提取最新的 sold_date。 每个 product_id 在产品表中都有一个(唯一)条目。

【问题讨论】:

  • 最新的sold_date显然是max(sold_date)

标签: sql oracle greatest-n-per-group


【解决方案1】:

试试下面这样:

select p.product_id, s.product_code, p.product_name, max(s.sold_date)
from product p
left join sold_product s on s.product_id = p.product_id
group by p.product_id, s.product_code, p.product_name

【讨论】:

    【解决方案2】:

    试试这个:

    select ap.prid,ap.prcode, a.name, ap.MaxDate from product a,(select prCode,prid, max(soldDate) as MaxDate 
    from sold_product
    group by prid) ap where a.id=ap.prid;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-03-22
      • 2020-05-29
      • 1970-01-01
      • 2021-01-10
      • 1970-01-01
      • 1970-01-01
      • 2021-01-31
      相关资源
      最近更新 更多