Entwickler-Ecke
Datenbanken - Zusammenführen von Daten aus Tabellen + Anzeige Bericht
TimHa - Sa 18.03.06 22:19
Titel: Zusammenführen von Daten aus Tabellen + Anzeige Bericht
Hallo zusammen!
Ich möchte eine Suche programmieren. Der Anwender tippt eine Rechnungsnr in ein Edit Feld ein und soll nach Klick auf einen Button die Rechnung als Bericht ausgegeben bekommen.
Meiner Meinung nach brauche ich dazu ein Query, welches Informationen aus drei Tabellen (Kunde, Rechnung, Rechnungsposition) zusammenführt. Später greift der Bericht dann auf das Query zu und zeigt die gewählten Daten an.
Wie muss denn der SQL Code aussehen? Ich hab mir so was gedacht:
SQL-Anweisung
1: 2: 3: 4: 5:
| SELECT * FROM Kunde, Rechnung, Rechnungsposition WHERE Rechnung.Rechnungsnr = :eingabeRechnungsnr AND Rechnungsposition.Rechnungsnr = :eingabeRechnungsnr AND Kunde.Kundenr = Rechnung.Kundennr; |
Kann das überhaupt so funktionieren? Ich bezweifel, dass das mit der Kundennr funktioniert...
Tim
Moderiert von
raziel: Code- durch SQL-Tags ersetzt
mkinzler - Sa 18.03.06 22:26
Hallo Tim,
du solltest bei einem Join nur die wirklich benötigten Felder in der Feldliste angeben.
Ob die Abfrage so funktioniert hängt vom Datenschema ab, grundsätzlich könnte es aber funktionieren.
TimHa - So 19.03.06 10:54
Hi Markus!
Ok, dann ersetze ich in Zeile 1 den Stern durch die einzelnen Felder. Kein Problem.
Zeile 3 und 4 machen bei mir auch zu 100% Sinn, da die eingegebene Rechnungsnr mit den Rechnungsnummern aus den Tabellen verglichen wird. Da werden dann hoffentlich die richtigen Datensätze rausgesucht.
Ich bin mir halt bei Zeile 5 so unsicher. Was ich möchte ist folgendes: Durch die Eingabe der Rechnungsnr kann ja nur ein Kunde in Frage kommen, da die Tabelle Rechnung das Feld Kundennr als Fremdschlüssel hat.
Sucht sich das Programm durch Zeile 5 automatisch den passenden Kunden raus?
Du hast geschrieben, dass die Funktion abhängig von meinem Datenschema ist. Wie muss es denn aussehen damit es funktioniert?
In der Tabelle Rechnung (Primärschlüssel Rechnungsnr) habe ich einen Fremdschlüssel (Kundennr) der auf die Tabelle Kunde verweist. In der Tabelle Rechnungsdaten bilden die Rechnungsnr und die Artikelnr den zusammengesetzten Schlüssel.
Brauchst du sonst noch Informationen?
Tim
mkinzler - So 19.03.06 11:09
[quote]Ich bin mir halt bei Zeile 5 so unsicher. Was ich möchte ist folgendes: Durch die Eingabe der Rechnungsnr kann ja nur ein Kunde in Frage kommen, da die Tabelle Rechnung das Feld Kundennr als Fremdschlüssel hat.
Sucht sich das Programm durch Zeile 5 automatisch den passenden Kunden raus? [quote] Ja.
| Zitat: |
| In der Tabelle Rechnungsdaten bilden die Rechnungsnr und die Artikelnr den zusammengesetzten Schlüssel. |
Ich würde der Tabellerechnungsposition (Rechnungsdaten?) auch einen künstlichen Primärschlüssel spendieren. Geht aber auch so.
Ich würde die Abfrage einfach so ausprobieren. Wenn was nicht funktioniert kannst du die ja mal Beschreibung der 3 Tabellen sowie ein parr Testdatensätze posten.
Markus.
TimHa - So 19.03.06 15:03
Ich werde mal was rumprobieren. :)
Tim
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!