SQL需要首次服务日期

问题描述 投票:0回答:1

我有两个文件,第一个包含型号,销售日期,客户和序列号(以及其他数据),第二个具有序列号,服务日期和服务类型(同一序列可以有多个服务日期)数字)和其他数据。

我需要为每个序列号选择型号的首次服务日期(但不能从后续日期开始)。我知道我需要对序列号进行内部联接,但不确定如何只返回服务的第一天。我希望在服务日期使用min函数,但不确定如何构造查询。

sql join group-by db2 min
1个回答
0
投票

如果您要从第二个表中获得的只是服务的第一个日期,那么一个相关的子查询就足够了:

select 
    m.*,
    (
        select min(date_of_service) 
        from services s 
        on s.serial_number = m.serial_number
    ) first_date_of_service
from models m

为了提高此查询的性能,您需要在services(serial_number, date_of_service)上建立索引。

© www.soinside.com 2019 - 2024. All rights reserved.