Когда я запускаю следующие T- SQL
use xxx
select
t.Vehicle,
t.Distance,
t.FuelConsumption,
d.LastConnection,
v.Make,
v.Model
from
dbo.Trips t
left join
dbo.Vehicles v on v.Id = t.Vehicle
left join
dbo.Devices d on d.Id = v.DeviceId
where
t.Date > '2020-03-02' and Distance > 1
order by
t.Vehicle, t.FuelConsumption
, в результате я получаю 34 строки, которые выглядят так:
Первый автомобиль ID 76 совершил 2 поездки, 1 зарегистрированное топливо другой не сделал. Это то, что я пытаюсь установить sh.
Поэтому я попытался выполнить следующий вложенный запрос
select
t.Vehicle,
d.LastConnection,
v.Make,
v.Model,
count(t.id) as TripCount,
sum(NoFuelRecord) as NoFuelRecord,
sum(FuelRecorded) as FuelRecorded
from
(select count(Id) as NoFuelRecord
from dbo.Trips
where Distance > 1 and FuelConsumption <= 0 and Date > '2020-03-02'
group by Vehicle) as NoFuelRecord,
(select count(Id) as FuelRecorded
from dbo.Trips
where Distance > 1 and FuelConsumption > 0 and Date > '2020-03-02'
group by Vehicle) as FuelRecorded,
dbo.Trips t
left join
dbo.Vehicles v on v.Id = t.Vehicle
left join
dbo.Devices d on d.Id = v.DeviceId
where
t.Date > '2020-03-02' and Distance > 1
group by
t.Vehicle, v.Make, v.Model, d.LastConnection
order by
t.Vehicle
, который дал следующие результаты:
Так что я ожидаю увидеть в строке 1: TripCount: 2, NoFuelRecord: 1, FuelRecorded: 1
Я даже не близко! Как мне это сделать, пожалуйста?