SQL查询以获取行程详细信息
我有一个表,它有如下列:SQL查询以获取行程详细信息,sql,sql-server,sql-server-2005,tsql,Sql,Sql Server,Sql Server 2005,Tsql,我有一个表,它有如下列:StartDate,EndDate,Registration\u No,Start\u-Odometer,End\u-Odometer,停止时间,空闲时间,距离,StartOPID,内ID StartOPID,endoid可以有5或1这样的值。在代码< StoptID=5 < /代码>和 EndoPID=5 < /Cord>时,我考虑了一个旅行。一辆车可以在同一日期进行多次行程,但时间不同。我需要写一个查询,在那里我可以得到一天中某一特定车辆的行程详细信息,该车辆具有St
StartDate
,EndDate
,Registration\u No
,Start\u-Odometer
,End\u-Odometer
,停止时间
,空闲时间
,距离
,StartOPID
,内ID
StartOPID
,endoid
可以有5或1这样的值。在代码< StoptID=5 < /代码>和<代码> EndoPID=5 < /Cord>时,我考虑了一个旅行。一辆车可以在同一日期进行多次行程,但时间不同。我需要写一个查询,在那里我可以得到一天中某一特定车辆的行程详细信息,该车辆具有StartOPID=5
和endoid=5
&我还需要得到行程中的总距离、停车时间和空闲时间
我已经写了一个查询,但它没有给我想要的结果..请帮助
select
Registration_No,
StartDate,
EndDate,
Start_Odometer,
End_Odometer,
sum(Total_Trip_Time) as Total_Trip_Time,
sum(Idle_Time) as Idle_Time,
sum(Stop_Time) as Stop_Time,
sum(Running_Time) as Running_Time,
sum(Distance) as Distance
from dbo.Trip_Summary
where System_Id = ?
and Client_Id = ?
and Registration_No = ?
and StartDate between ? and ?
and((StartOPID=5 and EndOPID=1) or (StartOPID=1 and EndOPID=5))
group by StartDate, Registration_No, EndDate, Start_Odometer, End_Odometer
order by StartDate, Registration_No
在我看来,您可能需要从GROUPBY子句中删除Start_里程表和End_里程表。 我假设每次旅行都有不同的开始里程表和结束里程表。
如果是这样,您将无法获得每天每辆车的总行程时间等。您将获得每次行程的总行程时间。一个好的示例可以更好地说明数据和预期输出。