SQL Select auf zwei Spalten mit dem gleichen Namen - Ergebnis in einer Zeile

Die wilde Inge

Commander
Registriert
Aug. 2009
Beiträge
2.110
Grüße,
ich hätte da mal eine Frage und kann nicht rausfinden ob das überhaupt machbar ist.

Ich habe zwei Tabellen, die über eine ID miteinander verknüpft sind. Die Verknüpfung habe ich über ein Join gemacht, das war unkritisch. In Tabelle 1 stehen Tickets drin, in Tabelle 2 stehen Sub-Tickets drin.

Ein Ticket kann kein, ein oder mehrere Sub Tickets haben und
ein Subticket hat genau 1 (Ober-)Ticket.
Die IDs von Ticket und Subticket sind eigenständig fortlaufend.
In Tabelle 2 (Subtickets) steht in einer Spalte das jeweilige Oberticket.

Wie gesagt, über ein Join erledigt, unkritisch.

In beiden Tabellen gibt es das Feld Kategorie, Priorität, Status usw.

Die Spalten heißen in beiden Tabellen identisch.: Category, Priority usw.
Tabelle 1 habe ich "as t" und die andere "as a" im Join benannt.

Was ich jetzt machen kann ist natürlich:

select t.id, a.id, t.category, a.category.

Und am Ende kriege ich

ticket idsubticket idticket categorysubticket category
11resfetb
12resfrg
13resfrg
24thrge
25thrgh


Schöner wäre es wie folgt:


IDDatensatzTypCategorie
1Ticketresf
1Subticketetb
2Ticketth
2Subticketrg
3Subticketrg
4Subticketrge
5Subticketrgh

Dann habe ich zwar mehr Zeilen aber weniger Spalten.

Kann man einen Select Befehl so schreiben, dass (gleichlautende) Spalten zusammengefasst werden?
Ggf. auch wenn diese nicht gleichlauten aber vom gleichen Datentyp sind?

Danke,
 
Du willst das JOIN also quasi wieder auflösen und ein UNION beider Tabellen? Dann wäre ein UNION statt JOIN das gesuchte.
 
  • Gefällt mir
Reaktionen: Die wilde Inge
@Bagbag Wenn man da so nennt, dann will ich das :-D
Ergänzung ()

Danke, funktioniert.
Das ging jetzt mal schnell :daumen:
 
Ergänzung: mach dich mal schlau zu Common Table Expressions bzw. CTE.

Damit kann man Strukturen in der Tabelle hierarchisch auflösen, indem PK und FK derselben Relation über Zeilengrenzen hinaus verknüpft werden.
 
danke. Werde ich prüfen.

Hat jedenfalls super geklappt. Hab mein Select mit ein paar Joins gemacht, dann ein UNION und dann meinen zweiten Select, ebenfalls mit mehreren Joins. Top Ergebnis.
 
Zurück
Oben