Добавить имя таблицы к каждому столбцу в наборе результатов в SQL? (В частности, Postgres)

Как я могу получить метку каждого столбца в результирующем наборе, чтобы добавить имя, если его таблица?

Я хочу, чтобы это происходило для запросов к отдельным таблицам, а также для объединений .

Пример:

  SELECT first_name, last_name FROM person;

Я хочу, чтобы результаты были такими:

 | person.first_name | person.last_name |
 |-------------------|------------------|
 | Wendy             | Melvoin          |
 | Lisa              | Coleman          |

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

  SELECT first_name AS person.first_name, last_name AS person.last_name FROM person;

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

Я хотел бы знать, как это сделать в SQL в целом или, по крайней мере, в Postgres в частности.

В SQLite была такая функция, хотя я вижу, что это теперь необъяснимо устарел. SQLite имеет две настройки прагмы: full_column_names и short_column_names .

10
задан Erwin Brandstetter 9 January 2014 в 15:32
поделиться