sql - mysql subquery with joins -



sql - mysql subquery with joins -

i have table 'service' contains details serviced vehicles. has id , vehicle_registrationnumber foreign key. whenever vehicle serviced, new record made. so, illustration if create service auto registration abcd, create new row, , set car_reg, date , car's mileage in service table (id set autoincreament) (e.g 12 | 20/01/2012 | abcd | 1452, service same auto create row 15 | 26/01/2012 | abcd | 4782).

now want check if auto needs service (the lastly service either 6 or more months ago, or current mileage of auto more 1000 miles since lastly service), need know date of lastly service , mileage of auto @ lastly service. want create subquery, homecoming 1 row each car, , row i'm interested in newest 1 (either greatest id or latest enddate). need bring together other tables because need view (i utilize codeigniter don't know if it's possible write subquires using ci's activerecord class)

select * ( select * (`service`) bring together `vehicle` on `service`.`vehicle_registrationnumber` = `vehicle`.`registrationnumber` bring together `branch_has_vehicle` on `branch_has_vehicle`.`vehicle_registrationnumber` = `vehicle`.`registrationnumber` bring together `branch` on `branch`.`branchid` = `branch_has_vehicle`.`branch_branchid` grouping `service`.`vehicle_registrationnumber` ) temp `vehicle`.`available` != 'false' , `service`.`enddate` <= '2011-07-20 20:43' or service.servicemileage < vehicle.mileage - 10000

select `service`.`vehicle_registrationnumber`, max(`service`.`enddate`) lastservice, max(service.servicemileage) lastservicemileage, vehicle.* `service` inner bring together `vehicle` on `service`.`vehicle_registrationnumber` = `vehicle`.`registrationnumber` inner bring together `branch_has_vehicle` on `branch_has_vehicle`.`vehicle_registrationnumber` = `vehicle`.`registrationnumber` inner bring together `branch` on `branch`.`branchid` = `branch_has_vehicle`.`branch_branchid` vehicle.available != 'false' grouping `service`.`vehicle_registrationnumber` having lastservice<=date_sub(curdate(),interval 6 month) or lastservicemileage < vehicle.mileage - 10000

;

i hope have no typo in ..

mysql sql

Comments

Popular posts from this blog

How do I check if an insert was successful with MySQLdb in Python? -

delphi - blogger via idHTTP : error 400 bad request -

postgresql - ERROR: operator is not unique: unknown + unknown -