2016-06-22 27 views
1

Ich versuche, Paare von Spalten zu stapeln, die ich in Sql zusammenpassen. Zum Beispiel habe ich Einträge in Spalte A Spalte B passen aus verschiedenen Tabellen, dann will ich Spalte C und D auf Spalte A und B hinzufügen Es sollte wie folgt aussehen:stapeln Sie mehrere Spalten aus verschiedenen Tabellen in Sql

A1 B1 
A2 B2 
C1 D1 
C2 D2 

Gibt es eine einfache Art und Weise zu tun Dies? Ich kann Spalten ABCD in eine Tabelle bringen, aber ich weiß nicht genug über die SQL-Syntax, um eine über der anderen einzufügen. Legen Sie in Aussagen hoffnungsvoll aussah, hier einige Code, den ich versucht, das überhaupt nicht arbeiten:

SELECT 
    col_A, 
    col_B 
    FROM 
    table_A as a 
    LEFT JOIN 
    table_B as b on b.ID = a.ID; 
    --this is where I think I'm messing up: 
    INSERT INTO a 
    col_C, 
    col_D 
    FROM 
    table_c as c 
    LEFT JOIN 
    table_d as d on d.ID = c.ID 

Irgendwelche Ideen? Einfachere Möglichkeit, dies zu tun? Vielen Dank! (Ich brauche PostgreSQL zu verwenden, ob das etwas ändert)

+0

können Sie weitere Details hinzufügen? Ich habe Mühe zu verstehen, .. –

Antwort

0

Unter der Annahme, dass die Daten, die Sie versuchen, ist von der gleichen Art zu anhängen, können Sie eine Vereinigung können alle (union, wenn Sie Duplikate entfernen möchten):

WITH table1 AS (
    SELECT 
     col_A, 
     col_B 
    FROM table_A as a 
    LEFT JOIN table_B as b 
    on b.ID = a.ID 
    ), 

    table2 AS (
    SELECT 
     col_C, 
     col_D 
    FROM table_C as c 
    LEFT JOIN table_D as d 
     on c.ID = d.ID 
    ) 

    SELECT * 
    FROM table1 
    union all 
    SELECT * 
    FROM table2 
    ; 
Verwandte Themen