Wie wird das Ergebnis von Multi Select in PgAdmin III angezeigt?

3079
D T
select 1 as a,4 as b, 5 as c; select 1 as a,3 as b; 

Ergebnisanzeige nur von `select 1 als a, 3 als b;

Wie wird das Ergebnis von Multi Select in PgAdmin III angezeigt? `

1
pgAdmin kann nur das letzte Ergebnis anzeigen - btw PostgreSQL unterstützt keine Multi-Record-Sets - Es unterstützt Multi Selects, das Ergebnis ist jedoch nur das letzte Ergebnis vor 10 Jahren 1

1 Antwort auf die Frage

2
Erwin Brandstetter

Eine Möglichkeit, diese Einschränkung zu umgehen, wäre UNION ALL.

Allerdings ist der Zeilentyp aller SELECTshat muss übereinstimmen . Also habe ich in der zweiten Abfrage NULLdie fehlende Spalte hinzugefügt c. Könnte ein beliebiger Wert sein, der zum Datentyp passt:

SELECT 1 AS a, 4 AS b, 5 AS c FROM tbl_a UNION ALL SELECT 1, 3, NULL FROM tbl_b; -- aliases only needed in 1st SELECT 

Gibt eine einzelne Ergebnismenge zurück.

Um die Quelle jeder Zeile anzugeben, können Sie zwischen einzelnen SELECTs eine Spalte oder eine Folie einfügen. Beide gleichzeitig mit VALUES-Ausdrücken demonstrieren:

SELECT * FROM ( VALUES (1, 1, 14, 15) ,(1, 2, 17, 11) ) AS t(query, a, b, c)  UNION ALL VALUES (NULL::int, NULL::int, NULL::int, NULL::int) -- delimiter  UNION ALL ( VALUES (2, 3, 24, NULL::int) ,(2, 4, 27, NULL::int) ); 

Explizite Typumwandlungen können erforderlich sein. Ich habe nur das absolut Notwendige hinzugefügt. -> SQLFiddle- Demo.