2 table, une avec des vols, une avec destination. Je veux tous les vols avec départ et arrivée qui sont dans le tableau 2 (travail pour moi). Mais je veux que l'arrivée suive le départ. Voir par exemple Merci pour tousSQL précédent, rangée suivante
CREATE TABLE flights
(`Name` varchar(10), `Departure` varchar(50), `Arrival` varchar(10), `Pass` int, `Cargo` int, `Dist` int)
;
INSERT INTO flights
(`Name`, `Departure`, `Arrival`, `Pass`, `Cargo`, `Dist`)
VALUES
('444 737vvv', 'LFLL gee', 'LPMAdsf', 200, 2000, 12),
('gg737vvv', 'LPMA-egege', 'LFLLdsf', 3000, 0, 13),
('747vvv', 'LFLLèèegege', 'LPMAdsf', 0, 5000, 15),
('747vvv', 'OTHHèèegege', 'LPMAdsf', 0, 5000, 15),
('747vvv', 'OMDBèèegege', 'LPMAdsf', 0, 5000, 15),
('a320vvv', 'EGKK-egege', 'LFPOdd', 0, 6000, 14)
;
CREATE TABLE Regular
(`Dep` varchar(21), `Arri` varchar(21),`Type` varchar(21))
;
INSERT INTO Regular
(`Dep`, `Arri`, `type`)
VALUES
('LFLL', 'LFPG', 'cargo'),
('LFPG', 'LFLL', 'cargo'),
('LFLL', 'LPMA', 'com'),
('LPMA', 'LFLL', 'cargo'),
('LFPO', 'EGKK', 'cargo'),
('EGKK', 'LFPO', 'com')
;
Avec cette demande, j'ai tous les vols où Départ et arrivée sont dans le tableau régulier. Bien! Mais je veux donc seulement le vol qui arrive après le départ.
Exemple aujourd'hui avec ceci:
$query = "Select
flights.UserName,
flights.FlightDate,
flights.FlightResult,
flights.AircraftName,
flights.DepartureIcaoName,
flights.ArrivalIcaoName
from
flights
inner join regular
on regular.Departure = SUBSTRING(flights.DepartureIcaoName,1,4) and regular.Arrival = SUBSTRING(flights.ArrivalIcaoName,1,4);";
I Have:
('444 737vvv', 'LFLL gee', 'LPMAdsf', 200, 2000, 12),
('gg737vvv', 'LPMA-egege', 'LFLLdsf', 3000, 0, 13),
('747vvv', 'LFLLèèegege', 'LPMAdsf', 0, 5000, 15),
('a320vvv', 'EGKK-egege', 'LFPOdd', 0, 6000, 14)
Je veux:
('444 737vvv', 'LFLL gee', 'LPMAdsf', 200, 2000, 12),
('gg737vvv', 'LPMA-egege', 'LFLLdsf', 3000, 0, 13),
('747vvv', 'LFLLèèegege', 'LPMAdsf', 0, 5000, 15),
Je pense (mais ne fonctionnent pas):
$query = "Select
flights.*, regular.*
from flights, regular
where regular.Departure = SUBSTRING(flights.DepartureIcaoName,1,4)
and regular.Arrival = SUBSTRING(flights.ArrivalIcaoName,1,4)
and SUBSTRING(flights.DepartureIcaoName,1,4) = (SUBSTRING(flights.ArrivalIcaoName,1,4) - 1)
";
Une logique derrière ces résultats serait bien. – sagi
À quoi sert la table 'regular'? – mikeyq6
https://stackoverflow.com/questions/35997714/mysql-order-row-on-previous-column-value-compare-order-by-date – user3189715