¿Cómo puedo obtener la etiqueta de cada columna en un conjunto de resultados para anteponer el nombre si su tabla?¿Prefijo el nombre de la tabla a cada columna en un conjunto de resultados en SQL? (Postgres específicamente)
Quiero que esto suceda para las consultas en tablas individuales, así como las uniones.
Ejemplo:
SELECT first_name, last_name FROM person;
Quiero que los resultados sean:
| person.first_name | person.last_name |
|-------------------|------------------|
| Wendy | Melvoin |
| Lisa | Coleman |
podría utilizar "AS" para definir un alias para cada columna, pero que sería tedioso. Quiero que esto suceda automáticamente.
SELECT first_name AS person.first_name, last_name AS person.last_name FROM person;
El motivo de mi pregunta es que estoy usando un controlador de base de datos que no proporciona los metadatos informándome la columna de la base de datos desde donde el conjunto de resultados obtuvo sus datos. Estoy tratando de escribir código genérico para manejar el conjunto de resultados.
Me gustaría saber cómo hacer esto en SQL en general, o al menos en Postgres específicamente.
SQLite tenía esa característica, aunque veo que ahora está inexplicablemente obsoleta. SQLite tiene dos configuraciones de pragma: full_column_names & short_column_names.
no creo que esto es posible. –
Al ver cómo SQLAlchemy hace todo esto "manualmente", yo también dudo que esto se pueda hacer. –
Una razón por la que esto es imposible es porque no hay nada que relacione mágicamente una columna de resultados con una tabla. El resultado en su columna puede ser una expresión hecha de 0 o más columnas (y 0 o más tablas). El nombre de columna predeterminado para el resultado a menudo se toma prestado de un nombre de columna, pero también puede provenir de un nombre de función (es decir, 'SELECT min (x)' devuelve una columna llamada 'min' de forma predeterminada) y puede ser ' ?¿columna?' cuando no hay un defecto Creo que su (lamentablemente tediosa) sugerencia de usar 'AS' es la única respuesta, salvo la piratería y la recompilación de Postgres con un comportamiento diferente. – Flimzy