Tabellen als Spalte in einer Sicht

IchHH

Datenbank-Guru
Beiträge
282
Moin Moin,

gibt es eine Möglichkeit zwei und mehr Tabellen (jede hat nur 2 Spalten (Konto & Summe)) so darzustellen zu lassen, dass diese alle als Spalte angezeigt werden z.B.

T1 Konto, T1 Summe, T2 Konto, T2 Summe, ....n?

Oder habe ich nur die Möglichkeit alle Tabellen per Union zu verbinden und dann mit Case When Bedingungen zu arbeiten?
 
Werbung:
wie soll denn das jeweisl zugeordnet werden? So vielleicht?

Code:
test=# create table t1 as select s as konto, s*10 as summe from generate_series(3,6)s;
SELECT 4
test=*# create table t2 as select s as konto, s*10 as summe from generate_series(1,5)s;
SELECT 5
test=*# select distinct t1.konto as "t1 konto", t1.summe as "t1 summe", t2.konto as "t2 konto", t2.summe as "t2.summe" from t1 cross join t2;
 t1 konto | t1 summe | t2 konto | t2.summe
----------+----------+----------+----------
        5 |       50 |        4 |       40
        3 |       30 |        4 |       40
        4 |       40 |        1 |       10
        3 |       30 |        2 |       20
        5 |       50 |        2 |       20
        6 |       60 |        3 |       30
        6 |       60 |        4 |       40
        4 |       40 |        5 |       50
        3 |       30 |        3 |       30
        5 |       50 |        3 |       30
        6 |       60 |        2 |       20
        3 |       30 |        1 |       10
        5 |       50 |        1 |       10
        4 |       40 |        4 |       40
        6 |       60 |        5 |       50
        4 |       40 |        2 |       20
        6 |       60 |        1 |       10
        4 |       40 |        3 |       30
        3 |       30 |        5 |       50
        5 |       50 |        5 |       50
(20 rows)

test=*#

Beachte, daß dabei die Anzahl der Zeilen im Result schnell relativ hoch wird, hier bei 4 Zeilen in einder Tabelle und 5 in der anderen sind es schon 20.
 
Genau das ist das Problem. Ein Crossjoin wird mir in der Tat nicht weiterhelfen. Ich hatte erst an der Windwows Funktion von SQL gedacht aber das bekomme ich nicht umgesetzt mit mehreren Tabellen. Ich versuche gerade den Ansatz in jeder meinen in Frage kommenden Tabelle eine ROW_ID einzufügen und dann alle an der Tabelle mit der höchsten ROW_ID einzufügen.

Hast du vielleicht noch ein Idee?
 
Dein Datenmodell überdenken?
Das war nun wenig Konkret und Hilfreich. Wie ich schon sagte habe ich 6 Datenbank. Die größte hat 48 Zeilen die kleinste hat 9 Einträge. Obwohl eine Datenbank für den Zweck den ich verfolge nicht gedacht ist, muss ich versuchen alle 6 Tabellen nebeneinander dargestellt zu bekommen. Das Problem ist, dass die Tabellen nichts haben worauf eine Verbindung hergestellt werden kann.
 
Werbung:
Das war nun wenig Konkret und Hilfreich.

Es war ehrlich und sachlich.

Wie ich schon sagte habe ich 6 Datenbank. Die größte hat 48 Zeilen die kleinste hat 9 Einträge. Obwohl eine Datenbank für den Zweck den ich verfolge nicht gedacht ist, muss ich versuchen alle 6 Tabellen nebeneinander dargestellt zu bekommen. Das Problem ist, dass die Tabellen nichts haben worauf eine Verbindung hergestellt werden kann.

Diese Dinge untermauen meine letzte Antwort.
 
Zurück
Oben