Der cross join lateral reicht ja schon.
Der nachfolgende Selekt bringt die Felder ja wieder nebenenander.
Die Funktion Values mit Komma mehrere Zeilen zu erstellen hatte ich nicht mehr auf dem Schirm.
Das liegt auch daran, dass dies nicht in jedem Dialekt (SQL-Server, Oracle, Firebird, ...) unterstützt wird.
Das spart den Union.