![]() |
[SQL]mehrere abhängige Tabellen speichern
Hi,
es geht um Master-Detail-Subdetail. Ich ordne z.B. eine Warengruppe einem Artikel zu mit einer DBlookup-Box. Das ist ja kein Problem. Aber wie sieht folgendes aus : angenommen ich will eine Rechnung schreiben und eine Statistik darüber führen. Die Artikeltabelle wäre dann die Mastertabelle für z.B. die Rechnungspositionen. Aber auch eine Detailtabelle für die Warengruppen. Wie gehe ich jetzt am besten mit diesem Geflecht an Daten um ? Bei fast allen Beispielen wird immer nur eine Tabelle verwendet. Was aber wenn die gegenseitig in Abhängigkeit stehen und alle aktualisiert werden müssen ? Es geht mir hier nicht darum, auf die Daten zuzugreifen, um sie anzuzeigen, sondern wie ich sie einfach und sicher in die DB erst mal einfüge. Bei allen datensensitiven Steuerelementen kann ich nur eine Datenquelle angeben. Wie soll ich dann z.B. in einem DBgrid die Daten von 3 versch. Tabellen rein kriegen ? |
Re: [SQL]mehrere abhängige Tabellen speichern
Wenn Du Master-Detail Tabellen hast, hast du ja auch einen Index, über den die einzelnen Tabellen mit einander in Beziehung stehen. Wenn Du in Tabelle1 etwas änderst und die mit Tabelle2 über eine ID verbunden ist, wird dank der referentiellen Intigrität (oder wie das heißt) die Aktualisierung an Tabelle2 weitergegeben.
Drei Tabllen in ein DBGRid zu bekommen geht meines Wissens nur über ein Query (SQL):
Code:
Wobei ID und ID2 die jeweiligen Felder sind über die die Tabellen in Beziehung stehen.
SELECT Tabelle1.ID, Tabelle1.Feld1, Tabelle1.Feld2, Tabelle1.Feld3, Sum(Tabelle2.Preis) AS Gesamtpreis
FROM Tabelle1 LEFT JOIN Tabelle2 ON Tabelle1.ID = Tabelle2.ID2 GROUP BY Tabelle1.Feld1, Tabelle1.Feld1, Tabelle1.Feld2, Tabelle1.Feld3; Hoffe ich habe Deine Frage richtig verstanden! Gruß Matt EDIT: In dem Beispiel werden z.B. alle Rechnungsfelder aus Tabelle1 ausgelesen und die Summe der einzelnen Position aus z.B. der Rechnungsdetails Tabelle2 errechnet! |
Re: [SQL]mehrere abhängige Tabellen speichern
Danke für die Antwort. Aber auch hier geht es wieder mal nur um das Anzeigen der Daten. Also nochmals: Angenommen ich habe eine Art.-Table. Jetzt gebe ich die Art.Nr. ein und will erreichen, daß:
1. neue Rechnungspositionen eingefügt werden 2. der Lagerbestand aktualisiert wird 3. eine Statistik geführt wird. Ist dies alles erst mal in der Datenbank drin, ja dann kann ich mit JOINS, SUM usw. hantieren. Vorerst interessiert das aber nicht. Was ist also jetzt in dem Beispiel wie zu tun ? Langsam beschleicht mich das Gefühl, daß zumindest hier keiner mit mehr als einer Tabelle arbeitet. :gruebel: Dann frage ich mich aber, warum ab und zu Fragen über Trigger u.Ä. auftauchen. Und bei einer Tabelle spielt die referentielle Integrität absolut keine Rolle, da es eben keine Referenzen gibt. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:42 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 by Thomas Breitkreuz