2017-09-24 2 views
1

Meine aktuelle Abfrage umfasst mehrere Tabellen beitreten, und ich verwende volle äußere Join für es. Meine Abfrage führte jedoch zu mehreren Spalten mit demselben Namen. Wie kombiniere ich das Ergebnis in einer einzigen Spalte?Outer Join merge Spalte

Im Folgenden ist ein Beispiel für meine Abfrage

Select table1.a,table1.b AS "chocolate",table2.b AS "chocolate" 
from table1 
full outer join table2 ON table1.c = table2.c 
WHERE table1.a > 100 

jedoch die Säule in

a,chocolate,chocolate 

Vielen Dank im Voraus führen wird!

enter image description here EDIT: im Grunde bin ich nur, was versucht inp_pages und art_pages in einer einzigen Spalte zu kombinieren

+0

Könnten Sie einige Beispieldaten gemeinsam nutzen und das Ergebnis, das Sie erreichen wollen? – Mureinik

+1

Wie möchten Sie diese 2 Spalten kombinieren? Nehmen wir zum Beispiel an, dass die Anfrage "dunkle Schokolade" als einen Wert der Schokoladensäule von der linken Tabelle und "weiße Schokolade" als einen Wert von der rechten Tabelle gibt. Was sollte in diesem Fall ein kombinierter Wert sein? – krokodilko

+0

@krokodilko Sie sollten in separaten Zeilen die gleiche Spalte teilen und sich fragen, ob es möglich ist – Jackelll

Antwort

1

Laut dem beigefügten Screenshot scheint es, als ob nur eine der beiden Spalten einen Wert haben kann und der andere immer null ist. Wenn dies wahr ist, können Sie die Ergebnisse in einer einzigen Spalte coalesce:

SELECT   table1.a, COALESCE(table1.b, table2.b) AS "chocolate" 
FROM   table1 
FULL OUTER JOIN table2 ON table1.c = table2.c 
WHERE   table1.a > 100 
0

CONCAT Funktion in der Lage sein zu erreichen scheint, ich will, kann jemand helfen, meine Lösung zu überprüfen?