Um unterschiedliche Datenabfragen zu kombinieren, verwendest Du Union.
Unterschiedliche Daten(Strukturen) kombinierst Du damit nicht, das geht nicht. Das ist gegen das Prinzip von RDBMS.
Union verwendet man idR bei unterschiedlichen Datenquellen, das sind normalerweise verschiedene Tabellen. Gegenbeispiel dazu, was gerne falsch verstanden wird. Eine Kundentabelle, in der ich z.B. 3 Gruppen von Kunden suche. Das ist kein Fall für Union. Die Struktur der Kundentabelle und die Ausgabe einzelner Spalten daraus ist immer gleich. Die Unterscheidung/ Eingrenzung wird über die Where Clause geregelt.
Wenn Du über Union nachdenkst, musst Du zwangsläufig über die gewünschte Struktur im Ergebnis nachdenken. Typumwandlung zu Text, der alles schluckt, wurde schon vorgeschlagen. Das ist einfach, aber tückisch, weil die Konvertierung von Zahlen und Datumswerten zu Text einen Funktionsverlust bedeutet. Jede Varianz, die Du in ein Union Ergebnis reinzauberst, musst Du im Zweifel später irgendwo im Code weiter verarbeiten. Fraglich ob das gewünscht, sinnvoll und praktikabel ist.
Das macht man nicht aus Spaß, am ehesten vielleicht in einem Report. Also eine Ergebnisform, die Menschen als Übersicht lesen oder der in irgendeiner Form als Export dient und maschinell verarbeitet wird (sprich: jemand anders darf das Durcheinander wieder einlesen).
Eine weitere Möglichkeit, eine Zusammenführung mit strukturelle Varianz zu erzielen, ist die Transformation Deiner Daten nach JSON (oder in Postgres sogar JSONB, in dem Fall aber sehr wahrscheinlich sinnlos). Du würdest mit Union alles machbare und notwendige in klassichen Typen zusammenfassen / erhalten und variable Teile in einer JSON Spalte zusammenfassen. Damit hast Du aus SQL Perspektive eine gleichförmige Struktur, aber beliebig starke Varianz im Inhalt.
In Postgres hast Du dazu sehr gute Möglichkeiten. Wichtig ist allerdings auch hier, dass Du für eine mögliche Weiterverarbeitung dieser Daten keine strukturellen Informationen im Union verschenkst/verlierst. Ein schnödes Textarray wäre also nur ein winziger Schritt weiter als die Konvertierung zu Text. Eine definierte JSON Objekt Struktur, die hirarchisch wäre die bessere Wahl.
Proof of Conzept wären Abfragen, die aus dem Union Ergebnis mit JSON Bestandteilen wieder originale Daten und - Struktur erstellen.
Ob das so weitreichend notwendig ist, hängt vom Einsatzzweck ab.