que he usado Excel para generar numerosas SELECT
declaraciones de una lista de los nombres de esquema de una base de datos con un gran número de esquemas idénticos:PostgreSQL combinan múltiples sentencias de selección
select result from foo.table limit 1;
select result from bar.table limit 1;
select result from doo.table limit 1;
(foo
, bar
& doo
son ejemplos de mis esquemas, hay cientos en realidad).
Cada SELECT
devolverá un solo resultado. Simplemente quiero una columna result
con tantas filas como esquemas hay. Luego puedo copiar esto nuevamente en Excel contra los nombres de esquema.
Cuando ejecuto la consulta anterior consigo 1 fila, con los demás se descartan:
Query result with 1 row discarded. Query result with 1 row discarded. Total query runtime: 40 ms. 1 row retrieved.
He intentado usar UNION ALL
, pero el limit 1
estoy usando para garantizar una fila única se devuelve desde cada esquema la tabla aparece para evitar que esto funcione.
¿Cómo puedo evitar que las demás filas se descarten, o escribir una consulta que devolverá los valores que necesito (dos columnas - schema_name, result - one row para cada esquema) de una manera más eficiente?
Gracias, eso es genial. Todo un feo trabajo, así que estoy contento con algo que funciona, ¡y esto funciona! –
Cuando una consulta se pone fea en PostgreSQL, la mayoría de las veces, una solución más elegante está a la vuelta de la esquina. ;) –
Si le molesta que la respuesta aceptada de antes en el día fuera mejorada en función de sus adiciones, la eliminaría. Pero parece que no puedo eliminar una respuesta de aceptación. – Glenn