Vous n'êtes pas identifié(e).
Pages : 1
Bonjour, je suis débutant en postgreSQL et j'ai une question SVP.
j'ai accés à une base de donnée postgres et j'ai un code pyhon qui me peremet de faire une requete à partir de cette base de donnée. Dans le code pyhon il y a une requête que je ne le comprends pas :
'SELECT a1.airport, a2.airport ,flight_data.* FROM flight_data LEFT JOIN flight_data_recorder on flight_data_recorder.fdr_id = flight_data.fdr_id LEFT JOIN flight on flight.flight_id = flight_data_recorder.flight_id LEFT JOIN airport_and_date a2 on flight.arrival_id = a2.airport_and_date_id LEFT JOIN airport_and_date a1 on flight.departure_id = a1.airport_and_date_id WHERE (flight_data.flight_phase = \'INI_CLIMB\' or flight_data.flight_phase = \'CLIMB\') and flight_data.fdr_id < 15000 and a1.airport = \'DAAG\' and a2.airport = \'LFPO\' ORDER BY flight_data.flight_data_id'
si on regarde le début de la requête "SELECT a1.airport, a2.airport " , le problem c'est que dans la data base je n'ai pas une table s'appelle "a1" ou "a2" ou une colonne s'applle "airport" et pourtant la raquete marche bien et il n' y a pas d'erreurs !
donc j'aimerais savoir de quoi il peut etre s'agire "a1" et "airport" ?
et quand on fait par exemple select table.colonne.* from "other teble" ca veut dire quoi le .*
Merci d'avance et j'espere que ma question était claire.
Hors ligne
Bonjour,
Ce n'est pas une question spécifique à postgres, vous devriez probablement apprendre le langage SQL si vous avez à travailler avec une base de données relationnelle.
Pour répondre à votre question, a1 et a2 sont des alias pour des relations, défini avec la syntaxe "relation_name [ AS ] alias". Vous pouvez utiliser cela sur une clause FROM ou JOIN. Une colonne airport devrait donc exister dans les relations pour lesquelles a1 et a2 sont des alias.
Julien.
https://rjuju.github.io/
Hors ligne
oui vous avez raison je suis débutant en SQL. je vous remerci pour votre reponse.
Hors ligne
Pages : 1