Re: besoin d'aide pour affiner une requête "validités"
Envoyé par:
Gilles.DR315
()
Date: vendredi 13 avril 2012 22:12:38
C'est ce que j'ai fait pour l'habilitation VOL Baptême. Pour la boîte à clés, nous y réfléchissons.
Dans les validités, le pilote habilité doit être repris sur les listes suivantes :
"Licence PPL / TT - SEP",
"30h de vol sur l'année glissante" dont la formule d'expérience est : (sumFlightHour(%PILOT,0,365,1,2,3,4,5)+sumFlightHour(%PILOT,1,365,1,2,3,4,5))>18000
et enfin la validité
"Certificat Médical classe 2 (Avion)"
Par contre je n'arrive pas à créer une validité ou en formule d'expérience nous avons
"Certificat Médical classe 2 (Avion)" dont la date d'obtention est entre maintenant - 365 J
Pour le rapport : j'ai mes 3 formules, mais je n'arrive pas à les cumuler pour n'en faire qu'une seule :
"Les plus de 30h sur tel types d'aéronefs" :
SELECT CONCAT(au.last_name, ' ', au.first_name) AS pilot, TIME_FORMAT( SEC_TO_TIME( SUM(f.duration)*6 ), '%H:%i' ) AS total_time
FROM flight AS f
RIGHT JOIN flight_pilot AS fp ON fp.flight_id=f.id
LEFT JOIN resource AS ai ON ai.id = f.aircraft_id
LEFT JOIN resource_type AS at ON ai.resource_type_id = at.id
LEFT JOIN person AS au ON fp.pilot_id = au.id
WHERE f.airborne = 0
AND start_date BETWEEN NOW() - INTERVAL 365 DAY AND NOW()
AND at.id IN ( 1, 2, 3, 5 )
GROUP BY au.id
HAVING SUM(f.duration)/600 > 30
ORDER BY pilot
"Certificat MED de moins d'un an"
SELECT
last_name AS Last_name,
first_name AS First_name,
validity_type.name AS 'Validity',
DATE_FORMAT(validity.grant_date, '%m-%d-%Y') AS Obtention,
DATE_FORMAT(validity.expire_date, '%m-%d-%Y') AS Expirate
FROM person
LEFT JOIN validity ON person_id=person.id
LEFT JOIN validity_type ON validity_type.id=validity_type_id
WHERE validity.grant_date BETWEEN NOW() - INTERVAL 365 DAY AND NOW()
AND validity_type.time_limitation=1
AND validity_type.name="Certificat Médical classe 2 (Avion)"
AND person.activated=1
ORDER BY
last_name,
first_name
"Avoir la licence PPL"
SELECT
last_name AS Last_name,
first_name AS First_name,
validity_type.name AS 'Validity',
ident_value As 'Ident_value',
DATE_FORMAT(validity.grant_date, '%m-%d-%Y') AS Obtention,
DATE_FORMAT(validity.expire_date, '%m-%d-%Y') AS Expirate
FROM person
LEFT JOIN validity ON person_id=person.id
LEFT JOIN validity_type ON validity_type.id=validity_type_id
WHERE validity_type.time_limitation=1
AND validity_type.name="Licence PPL / TT - SEP"
AND person.activated=1
ORDER BY
last_name,
first_name
Merci encore pour les conseils.