Bei mir tritt ein komisches Problem mit Union auf:
Ich habe eine Tabelle
und möchte jetzt eine Abfrage haben, die mir die per Fremdschlüssel aus Spalte per_1 und per_2 untereinander auflistet:
Meine Abfrage
gibt mir aber nicht das erhoffte Ergebnis, sondern ignoriert die Alias und verdoppelt einfach die Zeilen:
Mein nahe liegender Gedanke, dass das Problem mit der Uneindeutigkeit der Zeilen zusammenhängt, weil die PK ja verdoppelt sind, hat sich als erfolglose Spur erwiesen. Auch kompliziertere Teilquerys, wo noch eindeutige Spalten mit eindeutigen Werten beigefügt wurden, ändert an dem Problem nichts.
Ich habe eine Tabelle
Code:
| id | per_1 | per_2 |
1 5 2
2 5 3
und möchte jetzt eine Abfrage haben, die mir die per Fremdschlüssel aus Spalte per_1 und per_2 untereinander auflistet:
Code:
| id | per_1 | per_2 |
1 5 2
2 5 3
1 2 5
2 3 5
Code:
SELECT row_number() OVER() AS ida,*
FROM
(
SELECT
id,
per_1 AS p1,
per_2 AS p2
FROM
table
UNION ALL
SELECT
id,
per_1 AS p2,
per_2 AS p1
FROM
table
) AS sub
Code:
ida | id | p_1 | p_2 |
1 1 5 2
2 2 5 3
3 1 5 2
4 2 5 3
Zuletzt bearbeitet: