Entwickler-Ecke

Datenbanken - Verknüpfung von 3 Tabellen mit einer TQuery


colaka - Mi 18.03.09 08:40
Titel: Verknüpfung von 3 Tabellen mit einer TQuery
Hallo,

auch wenn man hier immer ausgelacht wird, wenn man mit einer Frage zur BDE kommt, muß ich mich jetzt damit an das Forum wenden, weil ich alleine einfach nicht zum Ziel komme. Vielleicht gibt es ja noch einen Nostalgiker, der mir helfen kann.

Also ich habe 3 Paradox-Tabellen (Gruppe.db, EAN.db und Artikel.db), die über 2 verschiedene Felder verknüpft sind. Die Tabellen Gruppe.db und EAN.db sind über das gemeinsame Feld "Warengruppe" und die Tabellen EAN.db und Artikel.db sind über das gemeinsame Feld "EANNr" verknüpft. Nun möchte ich in einem TDBGrid beim Durchblättern der Warengruppen die zugehörigen Artikel darstellen.

Das müsste doch eigentlich mit einer TQery zu machen sein. Doch bei mir werden immer entweder alle oder gar keine Artikel angezeigt. Momentan sieht mein SQL-String so aus:

SELECT gruppe.warengruppe, ean.warengruppe, ean.eannr, artikel.eannr
FROM gruppe, ean, artikel
WHERE (gruppe.warengruppe = ean.warengruppe) and (ean.eannr = artikel.eannr)

Wer kann mir einen Tipp geben?

Danke Ebi


ene - Mi 18.03.09 09:17

Hi,

ich kenne die BDE leider nicht, aber vielleicht gehts mit INNER JOIN ja besser als mit einem CROSS JOIN, obwohls eigentlich das gleiche ist:


SQL-Anweisung
1:
FROM (gruppe AS G INNER JOIN ean AS E ON G.warengruppe = E.warengruppe) INNER JOIN artikel AS A ON E.eannr = A.eannr                    


colaka - Mi 18.03.09 09:35

Hallo,

Deinen Code habe ich probiert, doch da werden ebenfalls sämtliche Artikel angezeigt.

Danke Ebi


ene - Mi 18.03.09 09:48

Eine Einschränkung anhand der Warengruppe ist ja auch noch nicht enthalten. Wie soll denn gefiltert werden? Einfaches Beispiel:

'SELECT ... FROM ... WHERE G.warengruppe = ' + DeinFeld


colaka - Mi 18.03.09 10:16

Hallo,

die Warengruppe zeige ich in einem anderen TDBGrid an, das über eine TTable mit der Tabelle Gruppe.db verbunden ist. Da liegt wohl das Problem. Es wäre sehr nett, wenn Du mir da auch noch weiter helfen könntest.

Danke Ebi


ene - Mi 18.03.09 12:32

Und wie kommen die Daten in das 2. Grid?

Edit: Vielleicht schaust du dir sonst einfach mal die Tutorials [http://www.delphi-treff.de/tutorials/datenbanken/] an.


colaka - Mi 18.03.09 20:30

Danke, jetzt habe ich es begriffen