![]() |
Datenbank: SQL Server 2000 • Zugriff über: SDAC-Komponenten
2 Tabellen in einem Grid anzeigen - mit Master/Detail
Hallo zusammen,
Ich möchte gerne Daten aus zwei Tabellen in einem Grid anzeigen lassen, aber mit eingeschränkter Ergebnismenge. :shock: Hier kurz die Felder: 1. Tabelle (Crosstable): Name: Cross_Artikel_Zubehoer
2. Tabelle: Name: Artikelstamm
So, nun genauer zum Problem. Ich möchte, dass nun in meinem Grid alle Zubehörartikel angezeigt werden, wo Zubehoerartikel.Artikel_ID und Artikelstamm.ID gleich sind (aber nur für die Artikelstamm.ID, auf der ich grade positioniert bin - also nicht alle). Beispiel: Ein Artikel in Artikelstamm wurde ausgewählt und in dem Grid sollen nun alle dazugehörigen Zubehörartikel stehen. Die Zubehörartikel sind auch Teil des Artikelstamms. Nun möchte ich zu jedem Zubehörartikel auch die Preise wissen (anzeigen reicht ...). :stupid: Und das habe ich bereits: SQL-Statement des Querys:
SQL-Code:
und den Filter des Querys:
SELECT Artikel_ID, Zubehoer_ID, Modulartikel
FROM Cross_Artikel_Zubehoer, Artikelstamm WHERE Artikel_ID = Artikelstamm.ID
Delphi-Quellcode:
Query_Zubehoer.Filter := 'Artikel_ID=' + IntToStr(Table_Artikel.FieldValues['ID']);
Query_Zubehoer.Filtered := True; Da ich in SQL noch nicht so fit bin, habe ich bei dem Statement meine Schwierigkeiten. Wie muss ich das Statement abändern, das ich immer die Preise von den Artikel erhalte, wo ich die IDs in der eingeschränkten Menge im Grid habe? PS: Ich weiß, dass ist alles ein bisschen verwurschtelt, aber ich hoffe, dass ihr mir bei meinen Problem behilflich sein könnt. Danke. MFG Lorenz |
Re: 2 Tabellen in einem Grid anzeigen - mit Master/Detail
Ich hoffe, dass ich Dich richtig verstanden habe:
SQL-Code:
Und als Parameter wert dann halt die ID des aktuellen DS.
SELECT A.Artikel_ID, A.Zubehoer_ID, A.Modulartikel, B.Name, B.Einkaufspreis, B.Verkaufspreis
FROM Cross_Artikel_Zubehoer A JOIN Artikelstamm B ON A.Artikel_ID = B.ID WHERE A.Artikel_ID = :wert |
Re: 2 Tabellen in einem Grid anzeigen - mit Master/Detail
Liste der Anhänge anzeigen (Anzahl: 1)
Erstmals besten Dank DeddyH,
habe das SQL-Statement mal übertragen und sehe auch die Preise, allerdings sehe ich immer den Preis, von dem Artikel auf dem ich mich positioniert habe und nicht von den Zubehörartikeln. Jetzt habe ich zum Beispiel in meinem Grid 3 Zubehörartikel mit den Preisen von meinem "Hauptartikel", also auf dem ich stehe im Artikelstamm. Ich möchte aber gerne die Preise der Zubehörartikel haben, die ja auch in der Artikelstammtabelle stehen. MFG Lorenz PS: Ich habe mal ein Screenshot angehangen, der die Situation verdeutlichen soll. :-D |
Re: 2 Tabellen in einem Grid anzeigen - mit Master/Detail
Kann es sein, dass es noch eine weitere Tabelle mit den Zubehörartikeln gibt, die Du bisher verschwiegen hast?
|
Re: 2 Tabellen in einem Grid anzeigen - mit Master/Detail
Nein, wie kommst du darauf?
|
Re: 2 Tabellen in einem Grid anzeigen - mit Master/Detail
Ich glaube, jetzt habe ich Dein Datenmodell verstanden, korrigier mich, wenn ich falsch liege:
Es gibt eine Tabelle mit Artikeln. Jeder Artikel kann wieder Zubehör zu einem Artikel aus derselben Tabelle sein, aufgelöst wird das Ganze durch die Crosstable. Stimmt das so? |
Re: 2 Tabellen in einem Grid anzeigen - mit Master/Detail
Ja, korrekt.
|
Re: 2 Tabellen in einem Grid anzeigen - mit Master/Detail
Dann versuch es mal so:
SQL-Code:
SELECT C.Name, C.Einkaufspreis, C.Vekaufspreis
FROM Artikelstamm A JOIN Cross_Artikel_Zubehoer B ON A.ID = B.Artikel_ID JOIN Artikelstamm C ON C.ID = B.Zubehoer_ID WHERE A.ID = :wert |
Re: 2 Tabellen in einem Grid anzeigen - mit Master/Detail
Super, klappt perfekt, bekomme jetzt immer die Preise der Zubehörartikel. :dance:
MFG Lorenz PS: Werde wohl ma nen Kursus in Sachen SQL belegen müssen. :zwinker: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:08 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz