Bonjour,
j'aurais besoin de votre aide pour une requête spécifique.
J'ai deux tables:
- une table "airfield_event" qui indique le statut (nationalité) d'une base à un temps donné (tik) ainsi que ses coordonnées
- une table "plane" qui indique sa nationalité et sa position en fin de mission notamment
Je souhaite faire une requête qui indique si l'avion est posé sur un terrain ami (le caractère ami étant déterminé par la dernière nationalité correspondante du terrain).
Pour l'instant j'en suis ici:
Ma requête actuelle, vérifie si la dernière position de l'avion est proche de moins de 1500m d'une coordonnée d'un airfield actif.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 SELECT DISTINCT Planes.country_id, aircraft_id, airfield_event.airfield_id, airfield_event.country_id, CASE WHEN Planes.country_id=airfield_event.country_id THEN "FRIENDLY" ELSE "OTHER" END FROM Planes JOIN airfield_event WHERE (posx_end - airfield_event.posx) BETWEEN -1500 AND 1500 AND (posz_end - airfield_event.posz) BETWEEN -1500 AND 1500 AND posx_end NOT NULL ORDER BY Planes.aircraft_id
Extrait du résultat de la rerquête:
Il faut maintenant que je trouve le moyen de comparer avec la dernière nationalité de l'airfield (le résultat de la requête me donne deux lignes si l'airfield a changé de nationalité en cours de mission = exemple pour l'aircraft_id = 781316).country_id aircraft_id airfield_id country_id CASE
WHEN Planes.country_id=airfield_event.country_id THEN "FRIENDLY"
ELSE "OTHER"
END
201 700428 573440 201 FRIENDLY
201 700446 573440 201 FRIENDLY
201 770103 573440 201 FRIENDLY
201 780306 573440 201 FRIENDLY
101 781316 91136 201 OTHER
101 781316 91136 101 FRIENDLY
J'ai essayé avec un MAX(airfield_event.tik) mais cela me donne une seule ligne.
A+
Partager