
Untitled
By: a guest on
May 8th, 2012 | syntax:
None | size: 0.86 KB | hits: 12 | expires: Never
SELECT
max(CASE
WHEN v.division IN (1,3) THEN 'FR'
WHEN v.division = 2 THEN 'DAR'
ELSE 'Unknown' END) AS dept,
v.vehicle AS vehicle,
sum(fh.fh_tran_gallons) AS diesel,
sum(fh_tran_fuel_price*fh.fh_tran_gallons) AS cost,
sum(fh.fh_tran_miles) AS miles,
sum(CASE WHEN fh_tran_bucket_type = 2 THEN fh.fh_antifr_qty ELSE 0 END) AS oil,
sum(CASE WHEN fh_tran_bucket_type = 3 THEN fh.fh_antifr_qty ELSE 0 END) AS anti,
CASE WHEN sum(fh.fh_tran_miles) != 0 AND sum(fh.fh_tran_gallons) != 0 THEN
round(sum(fh.fh_tran_miles)/sum(fh.fh_tran_gallons),2)
ELSE 0 END AS mpg,
SUM(CASE WHEN fh.fh_tran_gallons > 0 THEN 1 ELSE 0 END) AS activity
FROM
vehfile v
LEFT OUTER JOIN
flhistfl fh
ON
fh.fh_tran_vehicle=v.vehicle AND fh.fh_tran_date BETWEEN $start AND $end
WHERE
v.vehicle IN ($vehicles)
GROUP BY
v.vehicle
ORDER BY
dept DESC,v.vehicle