Liste des pilotes inscrits qui n'ont pas volé dans les 60 derniers jours
Envoyé par:
aeromorestel
()
Date: mardi 16 août 2016 19:54:34
Dans notre règlement intérieur, nos demandons une expérience de 2 mois.
Aussi, je suis partie de la requête "liste des pilotes qui n'ont pas volé dans les 90 derniers jours".
Sauf que .... je récupère des pilotes qui ne sont plus actifs (donc pas à jour de cotisation).
Quelle jointure faut-il rajouter dans la requête pour ignorer les pilotes "inactifs", c'est à dire ceux qui n'ont pas repris leur cotisation dans l'année ?
Merci.
Ci-dessous ma requête
SELECT
person.last_name as Nom, person.first_name as Prenom,
IFNULL((SELECT CONCAT(DATE_FORMAT( f1.start_date, '%d/%m/%Y' ),' ', resource.name,' Duree : ',
TIME_FORMAT(SEC_TO_TIME((SUM( f1.duration )/600 - FLOOR(SUM( f1.duration )/600))*3600),'%H h %i'))
FROM flight AS f1
LEFT JOIN flight_pilot AS fp ON fp.flight_id=f1.id
LEFT JOIN resource ON resource.id=f1.aircraft_id
WHERE fp.pilot_id=person.id
ORDER BY f1.start_date ASC LIMIT 1),'UNKNOWN') AS 'Date dernier vol'
FROM person
WHERE person.activated=1
AND person.id NOT IN (
SELECT person2.id
FROM flight AS f
LEFT JOIN flight_pilot AS fp ON fp.flight_id=f.id
LEFT JOIN person AS person2 ON person2.id=fp.pilot_id
WHERE f.airborne = 0 AND f.start_date BETWEEN NOW() - INTERVAL 60 DAY AND NOW()
GROUP BY person2.id HAVING SUM(f.duration)/600 > 0
)
ORDER BY person.last_name, person.first_name