ho usato Excel per generare numerosi SELECT
dichiarazioni di un elenco dei nomi di schema da un database con un gran numero di schemi identici:PostgreSQL combinare più istruzioni SELECT
select result from foo.table limit 1;
select result from bar.table limit 1;
select result from doo.table limit 1;
(foo
, bar
& doo
sono esempi dei miei schemi, ce ne sono centinaia nella realtà).
Ogni SELECT
restituirà solo un risultato. Voglio semplicemente una colonna result
con tutte le righe quanti sono gli schemi. Posso quindi copiare questo in Excel contro i nomi dello schema.
Quando eseguo la query di cui sopra ottengo 1 fila, con gli altri di essere scartati:
Query result with 1 row discarded. Query result with 1 row discarded. Total query runtime: 40 ms. 1 row retrieved.
Ho provato con UNION ALL
, ma il limit 1
che sto usando per garantire una riga solo viene restituito da ogni schema appare la tabella per evitare che funzioni.
Come impedire l'eliminazione delle altre righe o scrivere una query che restituisca i valori necessari (due colonne: schema_name, risultato, una riga per ogni schema) in modo più efficiente?
Grazie, è fantastico. Un po 'di brutto lavoro a tutto tondo, quindi sono contento di qualcosa che funziona, che fa! –
Quando una query diventa brutta in PostgreSQL, il più delle volte, una soluzione più elegante è dietro l'angolo. ;) –
Se ti dà fastidio che la risposta accettata di prima durante il giorno sia stata migliorata in base alle tue aggiunte, l'avrei eliminata. Ma non riesco a cancellare una risposta di accettazione. – Glenn