title image


Smiley Re: Abfrage über mehrere Tabellen
Ich habe drei Tabellen, die nicht miteinander in Beziehung stehen:



Tabelle1 (datei_ID, id1, id2, ...)

Tabelle2 (datei_ID, id, short_name, ...)

Tabelle3 (datei_ID, id, long_name, ...)



Die tabelle1.id2 ist die id in Tabelle2 und Tabelle3.

Die Datei_id ist in allen 3 Tabellen die selbe.



Wie soll das einer verstehen? Also haben sie ja doch eine Beziehung. Aber scheinbar hast du unterschiedliche Beziehungen für unterschiedliche Zwecke...



Nun möchte ich mir die Spalten tabelle2.id, tabelle2.short_name und tabelle3.long_name anzeigen lassen. Die Auswahlkriterium sind tabelle1.id1 und die Datei_id, die in allen 3 Tabellen die selbe sein muss.



Wenn ich es über 2 Tabellen machen, also:



select short_name, id from tabelle2 Where datei_id='Datei1' and id

in (Select id2 from tabelle21 where id1='U3888A0020090F8') order by short_name;



So geht es vielleicht im Ausnahmefall, aber sicher nicht sicher ;-)



Auswahl über 2 Tabellen mit JOIN über datei_id:

SELECT short_name, id

FROM tabelle2 JOIN tabelle1 ON tabelle2.datei_id = tabelle1.datei_id

WHERE tabelle1.id1 = 'U3888A0020090F8';





oder Auswahl über 2 Tabellen mit JOIN über id:

SELECT short_name, id

FROM tabelle2 JOIN tabelle1 ON tabelle2.id = tabelle1.id2

WHERE tabelle1.id1 = 'U3888A0020090F8'

AND tabelle2.datei_id = 'Datei1';



Auswahl über 3 Tabellen mit JOIN über datei_id:

SELECT short_name, tabelle2.id, long_name

FROM tabelle2 JOIN tabelle1 ON tabelle2.datei_id = tabelle1.datei_id

JOIN tabelle3 ON tabelle2.datei_id = tabelle3.datei_id

WHERE tabelle1.id1 = 'U3888A0020090F8';





oder Auswahl über 3 Tabellen mit JOIN über id:

SELECT short_name, tabelle2.id, long_name

FROM tabelle2 JOIN tabelle1 ON tabelle2.id = tabelle1.id2

JOIN tabelle3 ON tabelle2.id = tabelle3.id

WHERE tabelle1.id1 = 'U3888A0020090F8'

AND tabelle2.datei_id = 'Datei1';



Und noch ein kleiner Tipp am Rande: lies dir deinen Beitrag in der Vorschau immer nochmal genau durch, kleine Flüchtigkeitsfehler erschweren anderen das Verständnis enorm!

diu vive floreque.
Spockus

erreicht am 04.03.2008 09:47:23

geschrieben von

Login

E-Mail:
  

Passwort:
  

Beitrag anfügen

Symbol:
 
 
 
 
 
 
 
 
 
 
 
 
 

Überschrift: