gpt4 book ai didi

mysql - 我怎样才能得到这个查询中每个技术人员最后完成的服务?

转载 作者:行者123 更新时间:2023-11-29 00:12:07 24 4
gpt4 key购买 nike

我有这个关系

enter image description here

我正在尝试获取最后完成 (Servicio.FechaTermino) service (Servicio) 每个技术人员 (Tecnico)。

使用此查询:

SELECT FechaTermino as FechaTermino, idTecnico, Latitud, Longitud, Nombre, Apellido, Flag, idServicio
FROM Servicio, Tecnico, Servicio_Tecnico
WHERE Servicio.idServicio = Servicio_Tecnico.Servicio_idServicio
AND Tecnico.idTecnico = Servicio_Tecnico.Tecnico_idTecnico
AND Completado = 1

我明白了:

enter image description here

观看 idServico = 52

当我使用 Max 函数尝试获取每个技术人员最后完成的服务时,

SELECT Max(FechaTermino) as FechaTermino, idTecnico, Latitud, Longitud, Nombre, Apellido, Flag, idServicio
FROM Servicio, Tecnico, Servicio_Tecnico
WHERE Servicio.idServicio = Servicio_Tecnico.Servicio_idServicio
AND Tecnico.idTecnico = Servicio_Tecnico.Tecnico_idTecnico
AND Completado = 1
Group by idTecnico

这件事发生了

enter image description here

idServicio=52 消失了,它认为 idServicio = 8 就像上次完成的服务一样

如何获取每个技术人员最后完成的服务?

最佳答案

SELECT UNO.* FROM 
(SELECT FechaTermino AS FechaTermino, idTecnico, Latitud, Longitud, Nombre, Apellido, Flag, idServicio
FROM Servicio, Tecnico, Servicio_Tecnico
WHERE Servicio.idServicio = Servicio_Tecnico.Servicio_idServicio
AND Tecnico.idTecnico = Servicio_Tecnico.Tecnico_idTecnico
AND Completado = 1) AS UNO

LEFT OUTER JOIN

(SELECT FechaTermino AS FechaTermino, idTecnico, Latitud, Longitud, Nombre, Apellido, Flag, idServicio
FROM Servicio, Tecnico, Servicio_Tecnico
WHERE Servicio.idServicio = Servicio_Tecnico.Servicio_idServicio
AND Tecnico.idTecnico = Servicio_Tecnico.Tecnico_idTecnico
AND Completado = 1) AS DOS

ON (UNO.idTecnico = DOS.idTecnico AND UNO.FechaTermino < DOS.FechaTermino)
WHERE DOS.idTecnico IS NULL;

关于mysql - 我怎样才能得到这个查询中每个技术人员最后完成的服务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24579217/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com