2011-07-27 127 views
-1

我有有像StartDateEndDateRegistration_NoStart_OdometerEnd_OdometerStop_timeRunning_TimeIdle_TimeDistanceStartOPIDEndOPID ..SQL查詢來獲取旅行詳細

StartOPIDEndOPID可以有值的列的表比如5或1.我考慮一下StartOPID=5EndOPID=5。車輛可以在同一天有許多車次,但時間不同。我需要編寫一個查詢,我可以在此期間,有StartOPID=5EndOPID=5 &也是我需要的總距離這一天獲得特定車輛的行程的詳細信息,停止時間,空閒時間此行..

我已經寫查詢,但它不是給我想要的result..plz幫助..

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 
+3

一個很好的例子可以更好地說明數據和預期輸出。 –

回答

0

在我看來,你可能想通過條款從組中刪除Start_Odometer和End_Odometer。 我假設每次旅行都會有不同的start_odometer和end_odometer。 如果是這樣,每天每輛車都不會得到總行程時間等。您將獲得每次旅行的總行程時間。