我有两个文件,第一个包含型号,销售日期,客户和序列号(以及其他数据),第二个具有序列号,服务日期和服务类型(同一序列可以有多个服务日期)数字)和其他数据。
我需要为每个序列号选择型号的首次服务日期(但不能从后续日期开始)。我知道我需要对序列号进行内部联接,但不确定如何只返回服务的第一天。我希望在服务日期使用min函数,但不确定如何构造查询。
如果您要从第二个表中获得的只是服务的第一个日期,那么一个相关的子查询就足够了:
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)
上建立索引。