SQL: Select aus einer ODER einer anderen Tabelle

Gast #3593613
Lesenswert?

Moin,

mal wieder eine Frage zu SQL:

Angenommen, ich habe dummerweise zwei verschiedene Tabellen mit ziemlich 
gleichen Feldern, die ähnliche Dinge beschreiben. Zum Beispiel Ding_Typ1 
und Ding_Typ2. Eine dritte Tabelle Ding_Index enthält die Fremdschlüssel 
fk_Ding, die zu einer der beiden Tabellen passen. Also eine Art Index. 
Es gibt zu jedem Eintrag in Ding_Index entweder einen Eintrag in 
Ding_Typ1 ODER in Ding_Typ2.

Ich bräuchte jetzt ein SQL-Statement, das den Index komplett durchgeht 
und die Felder entweder aus Ding_Typ1 oder Ding_Typ2 holt.

Geht das evtl. über ein JOIN?
#3593661
Lesenswert?

Horst schrieb:
> Eine dritte Tabelle Ding_Index enthält die Fremdschlüssel
> fk_Ding, die zu einer der beiden Tabellen passen. Also eine Art Index.
> Es gibt zu jedem Eintrag in Ding_Index entweder einen Eintrag in
> Ding_Typ1 ODER in Ding_Typ2.

Das ist aber ziemlich ungeschickt. Denn die Datenbank kann so nicht so 
einfach sicherstellen, daß es nicht zufälligerweise einen Ding_Typ1 und 
einen Ding_typ2 mit der selben Nummer gibt.

Normal macht man das daher eher so, daß es im Ding_Index zwei Felder 
gibt. Das eine Feld referenziert auf Ding_typ1 und das andere auf 
Ding_typ2. Damit sind die Primärschlüssel von Ding_typ1 und Ding_typ2 
unabhängig voneinander.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren