join mit zweiter Chance

crunch

Mitglied
Hallo Leute,

ich stehe vor folgender Herausforderung. Ich versuche mehrere Tabellen zu joinen.

Tabelle1
-----------
key
manKEY1
manKEY2
manKEY3
var1
var2


Tabelle2
-----------
schluessel
var3
var4


Tabelle3
-----------
schluessel
var5
var6

Tabelle 2 und 3 sollen über 'key' und 'schluessel' an Tabelle 1 gejoint werden. Mein erster join-Versuch sah dementsprechend so aus:

Code:
SELECT *
FROM tabelle1
	FULL OUTER JOIN tabelle2 
		ON tabelle1.key =tabelle2.schluessel2 FULL OUTER JOIN tabelle3
			ON tabelle1.key = tabelle3.schluessel

PROBEM: ''key' und 'schluessel' habe ich mir aus anderen Variablen automatisch generiert und leider habe ich aufgrund verschiedener Probleme (BSP: In einer Tabelle steht 'Klaus' und in der anderen 'Claus' ODER in einer Tabelle steht 'Hannelore' und in der anderen 'Halo') einige Ersatzkeys (manKEY1, manKEY2 und manKEY3) erstellen müssen.

Nun möchte ich also folgendes realisieren. Der join soll nun nicht nur so aussehen

Code:
ON tabelle1.key =tabelle2.schluessel2


sondern irgendwie so


Code:
ON tabelle1.key =tabelle2.schluessel2 AND tabelle1.manKEY1 =tabelle2.schluessel2 AND tabelle1.manKEY2 =tabelle2.schluessel2 AND tabelle1.manKEY3 =tabelle2.schluessel2

Eine andere Möglichkeit wäre, die Tabelle, die ich mit meinem jetzigen ersten JOIN-Versuch bekomme in einem zweiten Schritt an einigen Stellen nachträglich mit einem zweiten JOIN zu updaten. Geht das? Wenn ja, wie?
 
Je nach DB gibts da verschiedene Möglichkeiten.
Also, auf was für einen DBMS läuft dein Ding?
 
Sozusagen... Ich hab Erfahrung mit Oracle, MySQL, MS Access.
Aber bei MS SQL muss ich passen. (nicht wegen MS, sondern weil ich weiss dass MS SQL eigene Befehle hat (so wie die anderen auch) und ich die nicht kenne)
 
Zurück