В настоящее время я отлаживаю огромный вызов MySql, который объединяет большое количество таблиц, которые имеют общие имена столбцов такие как id, created_at и т. д. Я начал разбирать его, но мне было интересно, есть ли способ сделать что-то вроде:
SELECT * AS table.column_name FROM table1 LEFT JOIN etc etc etc...
Вместо того, чтобы индивидуально именовать столбцы, например:
SELECT table1.`column2' AS 'NAME', table1.`column3` AS ...
Это определенно поможет ускорить процесс отладки, если есть способ сделай это.
Спасибо.
Изменить:
Спасибо за ответы. Это не совсем то, что я ищу, и я думаю, что мой вопрос был немного расплывчатым, поэтому приведу пример:
Предположим, у вас есть эта настройка в вашей схеме MySql:
table: student поля: INT id | INT school_id | VARCHAR имя
таблица: школы поля: INT id | INT имя
учащихся содержит:
1 | 1 | "John Doe"
школы содержит:
1 | "Imaginary School One"
Выполнение MySql-вызова «ВЫБРАТЬ * ИЗ учащихся LEFT JOIN schools ON (student.school_id = schools.id)» даст:
id | school_id | name | id | name
1 | 1 | "John Doe" | 1 | "Imaginary School One"
Мы лучше знать, и мы знаем, что первые столбцы Id и Name относятся к таблице студентов, а вторые Id и Name относятся к таблице школ, поскольку набор данных действительно мал и однозначен с его именами. Однако, если бы нам пришлось иметь дело с набором результатов, содержащим несколько левых объединений и столбцов с похожими именами, тогда его стало бы трудно читать, и обычно вам приходилось бы отслеживать его, следуя объединениям. Мы могли бы начать делать что-то вроде
SELECT school.name AS 'school_name', etc etc etc...
, но это становится невероятно непрактичным, когда вы начинаете иметь дело с большими наборами данных.
Мне было интересно, есть ли способ вернуть результирующий набор, в котором имена столбцов будут выглядеть так:
students.id | students.school_id | students.name | schools.id | schools.name
Что будет полезно для будущих ссылок, если мне снова понадобится сделать что-то подобное.