我有一组关于货车的记录(序列号,工号,工作类型和当前里程)。
select serial_number, call_ref, call_type_description, callm_data19
from calls
left join equipment on link_to_equipment=equipment_code
inner join lu_call_types on call_type=call_type_code
left join call_more on call_ref=callm_link_to_call
where serial_number = 'SH12ZLN'
order by call_ref desc
我希望能够显示在最近的“面包服务”记录之后发生的下一个“面包车检查”记录。
这是数据的快照
SH12ZLN 3023152 Van Inspection 83980
SH12ZLN 3019319 Van Inspection 83046
SH12ZLN 3016999 Van Servicing NULL
SH12ZLN 3016346 Van Inspection 81818
SH12ZLN 3012977 Van Inspection 80742
SH12ZLN 3010435 Van Inspection 79909
SH12ZLN 3008528 Van Repairs NULL
SH12ZLN 3006880 Van Inspection 78577
SH12ZLN 3001942 Van Inspection 76974
SH12ZLN 2998209 Van Inspection 75976
SH12ZLN 2994475 Van Inspection 75285
SH12ZLN 2991756 Van Repairs NULL
SH12ZLN 2989642 Van Inspection 74408
SH12ZLN 2985795 Van Inspection 73642
SH12ZLN 2981952 Van Inspection 72838
SH12ZLN 2978257 Van Inspection 72011
SH12ZLN 2975667 Van Inspection 70692
SH12ZLN 2972244 Van Inspection 69732
SH12ZLN 2969157 Van Inspection 68821
SH12ZLN 2959335 Van Inspection 67891
SH12ZLN 2956295 Van Inspection 66994
SH12ZLN 2948516 Van Inspection 66481
SH12ZLN 2946213 Van Inspection 65778
SH12ZLN 2939497 Van Inspection 64408
SH12ZLN 2937538 Van Inspection 63765
SH12ZLN 2934421 Van Inspection 62937
SH12ZLN 2932707 Van Inspection 61645
SH12ZLN 2930711 Van Inspection 60713
SH12ZLN 2930023 Van Inspection 59683
SH12ZLN 2924989 Van Inspection 58372
SH12ZLN 2924830 Van Repairs NULL
SH12ZLN 2922412 Van Inspection 57474
SH12ZLN 2919005 Van Servicing NULL
SH12ZLN 2918376 Van Repairs NULL
澄清 - 我希望它只产生以下记录
SH12ZLN 3019319 Van Inspection 83046
答案 0 :(得分:0)
问题澄清后我编辑了我的答案。 要解决这个问题,你应该找到最高的'Van Servicing'类型的job_number,这意味着最近的一个。你可以使用子查询:
SELECT MAX(job_number) FROM tbl WHERE id = 'SH12ZLN' AND type = 'Van Servicing'
在您拥有最近的服务job_number之后,只过滤job_number高于最近找到的行并选择具有最低job_number的行。
最终查询可能如下所示:
SELECT TOP 1 * FROM tbl WHERE
job_number > (SELECT MAX(job_number) FROM tbl WHERE id = 'SH12ZLN'
AND type = 'Van Servicing')
AND type = 'Van Inspection'
ORDER BY job_number ASC
查看sqlfiddle以试用它:http://sqlfiddle.com/#!3/64dfc/2
P.S。正如我可以从最初的问题中获得的,您的样本数据是从查询本身接收的。您的查询可以增强以返回所需的内容,但我需要所有表的架构。