sql >> Base de Datos >  >> RDS >> PostgreSQL

¿Crear alias a granel?

Buscas * con esteroides Desafortunadamente, no existe tal funcionalidad en SQL .

Solución 1:

Use el poder de la selección de bloques en su editor de texto favorito (vim, atom,...). Coloque cada columna en una nueva fila. Selección de bloque para escribir AS y prefijo de tabla. Luego bloquee la selección y copie los nombres de las columnas.

Solución alternativa 2:

Genere una lista de selección usando INFORMATION_SCHEMA.COLUMNS :

SELECT 
 string_agg(FORMAT('%s.%s AS %s_%s', "table_name",
                   column_name,"table_name", column_name), ', ')
FROM information_schema.columns
WHERE "table_name" IN ('products', 'taxes', 'categories');

SqlFiddleDemo

Podrías usar E',\n' para colocar cada columna en una nueva línea.

Salida:

╔════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════╗
║                                                                                   string_agg                                                                                   ║
╠════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════╣
║ products.id AS products_id, products.name AS products_name, taxes.id AS taxes_id, taxes.name AS taxes_name, categories.id AS categories_id, categories.name AS categories_name ║
╚════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════╝