Как я могу дать уникальные имена столбцам при присоединении таблицы к себе? - PullRequest
0 голосов
/ 03 октября 2019

Скажем, у меня есть таблица в базе данных MySQL, которая называется people. people имеет много столбцов, один из которых - parent, который содержит первичный ключ для другой строки в people. Я хочу сделать что-то вроде этого:

SELECT people.*, parents.*
FROM
    people
    LEFT JOIN people AS parents ON people.parent = parents.id

Чтобы получить набор строк, каждая из которых содержит данные для человека и его родителя. Проблема в том, что я получаю кучу дубликатов столбцов, поэтому я не могу легко сослаться, например, на имя ребенка или имя родителя.

Скажем, в таблице people слишком много столбцовсделать возможным их перечисление и устранение неоднозначности с AS. Можно ли что-то сделать для автоматического присвоения различных имен parents.name и people.name и т. Д.?

Я использую SQLAlchemy в Python, поэтому любое решение, которое может быть достигнуто с помощью этого инструмента, подойдет.

1 Ответ

0 голосов
/ 03 октября 2019

Вы можете присоединиться к выбранным столбцам, которые вам нужны, и задать им имена: SELECT people. , parent. FROM people LEFT JOIN (SELECT id, col1 как colA, col2 как colb ... FROMлюди) КАК родители НА people.parent = parent.id

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...