Rapport
Envoyé par: aeroclub17 ()
Date: jeudi 3 janvier 2013 13:29:48

Bonjour,

je souhaite mettre en place un rapport qui liste les pilotes à jour de cotisation n'ayant pas volé depuis deux mois.

J'utilise pour cela la syntaxe suivante en SQL :

SELECT
CONCAT(a.last_name, ' ', a.first_name) AS pilot,
IFNULL((SELECT CONCAT(DATE_FORMAT( f1.start_date, '%d/%m/%Y' ),' ', resource.name,' Durée: ',
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=a.id
ORDER BY f1.start_date DESC LIMIT 2),'INCONNU') AS "Dernier Vol"
FROM person AS a
LEFT JOIN member ON member.id=a.id
WHERE a.activated = 1 AND member.subscription = '2013-12-31'
AND a.id NOT IN (
SELECT au.id
FROM flight AS f
LEFT JOIN flight_pilot AS fp ON fp.flight_id=f.id
LEFT JOIN person AS au ON au.id=fp.pilot_id
WHERE f.airborne = 0 AND f.start_date BETWEEN NOW() - INTERVAL 60 DAY AND NOW() GROUP BY au.id HAVING SUM(f.duration)/600 > 0)
ORDER BY pilot

Le résultat me donne une liste de pilotes qui est exacte, sauf pour les dates et l'appareil utilisé/

Ex : Michel Dupont a fait son 1° vol au club le 25/03/2012, durée 30 minutes sur le FBNFF et son dernier vol remonte au 10/09/2012 sur le FGAVI et a duré 45 minutes

Le résultat donné est : Pilote : DUPONT Michel Dernier vol : Le 25/03/2012 FBNFF 00H20

Je souhaiterai obtenir : Pilote : DUPONT Michel Dernier vol : Le 10/09/2012 FAVI 00H45, c'est à dire la date, l'avion et le temps de vol du DERNIER VOL.

Si un pro du SQLpouvait m'arranger cela, ce serait sympa.


Meilleurs voeux à toutes et à tous.

Patrice Mouton
LFBH

Options: RépondreCiter


Seuls les utilisateurs enregistrés peuvent poster des messages dans ce forum.
This forum powered by Phorum.