В моем приложении у меня есть запрос, который делает несколько соединений с позиции таблицы.Вот так:
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;
Позиция моей таблицы имеет 35 столбцов (например, position_id).
Когда я запускаю запрос, в результате должна появиться позиция таблицы 3 раза, начало, конеци последнее.Но postgres не может различить, например, start.position_id, end.position_id и last.position_id.Таким образом, эти 3 столбца являются группой и отображаются как один, position_id.
Поскольку данные из start.position_id и end.position_id отличаются, столбец position_id, который отображается в результате, пуст.
Без необходимости переименовывать все столбцы, например: start.position_id как start_position_id.
Как я могу получить каждую группу данных отдельно, например, получить все столбцы из таблицы 'start'.В MYSQL я могу сделать эту операцию, вызвав fetch_fields и присвоив ей псевдоним, такой как 'start'.
Но я могу сделать это в Postgres?
С уважением, Нуно Оливейра