2009-08-12 7 views
0

Ist ein vollständiger äußerer Join in HSQLDB unterstützt. Ich habe versucht, es zu benutzen, aber es funktioniert nicht. Ich versuche so etwas zu tun.Verwenden eines vollständigen äußeren Joins in HSQLDB

  1. Abfrage 1 zieht Daten von Tabelle A als Schlüssel, Wert
  2. Abfrage 2 zieht Daten von Tabelle B als Schlüssel, Wert Nun benötigt i eine äußere verbinden, in dem durch i wird Club die Daten zwischen den beiden in dem die Schlüssel übereinstimmen und erhalten auch Daten, wo die Schlüssel nicht übereinstimmten. Falls Outer Join in HSQLDB nicht unterstützt wird (wir verwenden hsqldb und können die Datenbank nicht ändern), was ist der beste Ansatz, sollte ich dies effizient implementieren?

Danke.

+0

glaube ich ein LEFT OUTER JOIN und Club mit einer Union-Klausel Ergebnisse entsprechen 2 aus der Tabelle verwenden können, wo Tasten DONot match.Not sicher, ob dies ein guter Ansatz ist oder nicht. – Rajat

Antwort

0

FULL OUTER JOIN wird in HSQLDB 2.0 unterstützt. Für ältere Versionen verwenden diese

SELECT * FROM (
SELECT table1.key, table1.value, table2.value FROM table1 LEFT OUTER JOIN table2 ON table1.key = table2.key 
UNION 
SELECT table1.key, table1.value, table2.value FROM table2 LEFT OUTER JOIN table1 ON table1.key = table2.key 
) 
Verwandte Themen