Dans mon application, j'ai une requête qui effectue plusieurs jointures avec une position de table. Juste comme ceci:Postgres - Récupère les données de chaque alias
SELECT *
FROM (...) as trips
join trip as t on trips.trip_id = t.trip_id
left outer join vehicle as v on v.vehicle_id = t.trip_vehicle_id
left outer join position as start on trips.start_position_id = start.position_id and start.position_vehicle_id = v.vehicle_id
left outer join position as "end" on trips.end_position_id = "end".position_id and "end".position_vehicle_id = v.vehicle_id
left outer join position as last on trips.last_position_id = last.position_id and last.position_vehicle_id = v.vehicle_id;
Ma position de table a 35 colonnes (par exemple position_id).
Lorsque j'exécute la requête, le résultat devrait apparaître trois fois la position de la table, le début, la fin et la fin. Mais postgres ne peut pas distinguer, par exemple, start.position_id, end.position_id et last.position_id. Donc, ces 3 colonnes sont groupées et apparaissent comme une, position_id. Comme les données de start.position_id et end.position_id sont différentes, la colonne position_id, qui apparaît dans le résultat, est vide.
Sans avoir à renommer toutes les colonnes, comme ceci: start.position_id comme start_position_id.
Comment puis-je obtenir chaque groupe de données séparément, par exemple, obtenir toutes les colonnes de la table «démarrer». Dans MYSQL je peux faire cette opération en appelant fetch_fields, et donner à la fonction un alias, comme 'start'. Mais je peux le faire dans Postgres?
Cordialement, Nuno Oliveira
Votre apparence de requête (au moins) incomplète. Mais je vais le mettre en forme un peu pour toi quand même. – wildplasser
oui c'est incomplet, je viens de mettre le parte que j'ai des problèmes avec. C'est une énorme requête !! Merci –
Il est difficile de comprendre votre question. Êtes-vous simplement trop paresseux pour taper la liste des noms de colonnes dans la clause 'SELECT ...'? – wildplasser