我希望在类似的搜索中使用表的计数值。我能怎么做?这是我的查询,显示#1111 - 无效使用群组功能
select driver_details.DriverId,
count(taxi_trip.AutoId) AS TotalTrip,
sum(taxi_trip.TripDistance) AS TotalTripDistance,
sum(taxi_trip.TotalFare) AS TotalTripFare
from driver_details
left join taxi_trip
on taxi_trip.DriverId = driver_details.DriverId
and taxi_trip.PickupLAT != 0
and taxi_trip.DropLAT != 0
and taxi_trip.TotalFare != 0
where (date_format(taxi_trip.RequestDate,'%Y-%m-%d') >= 2015-07-17)
and (date_format(taxi_trip.RequestDate,'%Y-%m-%d') <= 2015-07-17)
and (driver_details.DriverId LIKE '%sa%'
or driver_details.Firstname LIKE '%sa%'
or driver_details.Lastname LIKE '%sa%'
or driver_details.TaxiPlateNo LIKE '%sa'
or count(taxi_trip.AutoId) LIKE '%sa%'
or sum(taxi_trip.TripDistance) LIKE '%sa%'
or sum(taxi_trip.TotalFare) LIKE '%sa%')
group by taxi_trip.AutoId
答案 0 :(得分:0)
尝试使用拥有
重写它select driver_details.DriverId,
count(taxi_trip.AutoId) AS TotalTrip,
sum(taxi_trip.TripDistance) AS TotalTripDistance,
sum(taxi_trip.TotalFare) AS TotalTripFare
from driver_details
left join taxi_trip
on taxi_trip.DriverId = driver_details.DriverId
and taxi_trip.PickupLAT != 0
and taxi_trip.DropLAT != 0
and taxi_trip.TotalFare != 0
group by taxi_trip.AutoId
having (date_format(taxi_trip.RequestDate,'%Y-%m-%d') >= 2015-07-17)
and (date_format(taxi_trip.RequestDate,'%Y-%m-%d') <= 2015-07-17)
and (driver_details.DriverId LIKE '%sa%'
or driver_details.Firstname LIKE '%sa%'
or driver_details.Lastname LIKE '%sa%'
or driver_details.TaxiPlateNo LIKE '%sa'
or count(taxi_trip.AutoId) LIKE '%sa%'
or sum(taxi_trip.TripDistance) LIKE '%sa%'
or sum(taxi_trip.TotalFare) LIKE '%sa%')
答案 1 :(得分:0)
如果我理解正确,你想使用
的值count(taxi_trip.AutoId)
作为查询中的变量
'%sa%'
尝试
DECLARE @taxiTrips INT;
SET @taxiTrips = SELECT count(taxi_trip.AutoId) FROM driver_details;
然后您可以使用@taxiTrips
作为变量。
所以在你的查询中更改
driver_details.Firstname LIKE '%sa%'
到
driver_details.Firstname LIKE @taxiTrips
但我真的不知道你试图用这个来存档...