Einzelnen Beitrag anzeigen

shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#4

Re: SQL Abfrage aus mehreren Tabellen...

  Alt 24. Sep 2004, 18:02
Zitat von Michaela_:
Ich habs zumindest mit einer zweiten Tabelle geschaft. Und zwar so:

Code:
Query.SQL.Text := 'SELECT Texte1.Info TXT1 
                   FROM Texte1 
                   INNER JOIN Artikel
                   ON Texte1.IDX = Artikel.TextID1
                   WHERE Artikel.Code = 'B'
Wie sieht das mit mehr als einer Tabelle aus. Ist INNER JOIN dann noch möglich?
Du bist auf dem richtigem Weg.
Aber du solltest LEFT OUTER JOINS verwenden, denn sonst kann es dir passieren, dass
Zeilen aus der Artikeltabellen verloren gehen !

SQL-Code:
SELECT Artikel.IDX, Texte1.Info TXT1, Text2.Info TXT2, Text3.Info TXT3
                   FROM Artikel
LEFT OUTER JOIN Texte1 ON Artikel.TextID1=Texte1.IDX
LEFT OUTER JOIN Texte2 ON Artikel.TextID2=Texte2.IDX
LEFT OUTER JOIN Texte3 ON Artikel.TextID3=Texte3.IDX
WHERE Artikel.Code = 'B'
Es ist natürlich ungeschickt die Nachschlagetexte in 3 verschiedenen Tabellen mit gleicher Struktur unterzubringen.
Da wäre eine Tabelle mit einem zusätzlichen Feld schlauer gewesen:
Code:
Tabelle NTexte
======================
IDX     Int (NOT NULL)
TextTyp Int (NOT NULL)
Info    varchar(200)
Andreas
  Mit Zitat antworten Zitat