![]() |
Datenbank: Paradox • Version: 7 • Zugriff über: BDE
Eine einfache Abfrage erstellen. Wie?
Hallo,
wie der Titel schon vermuten lässt, handelt es sich bei mir um ein absoluten "Datenbank-Neuling". Ich habe mir eine kleine Rechnungsmaske erstellt, die an vier Tabellen gebunden ist (Artikel, Kunden, Rechnungen und Rechnungsdaten). Dem einen oder anderen dürfte dieses Beispiel recht bekannt vorkommen. Ich habe es 1:1 aus dem Buch "Kochbuch Borland Delphi 5", aus dem Hanser-Verlag, übernommen. In der Sparte SQL sind ein paar nette Anweisungen zu finden. Leider kein konkretes Beispiel für eine Delphi-Anwendung. Nun meine Frage: Kann mir jemand irgendwie darlegen, wie man eine "einfache" Abfrage (z.b. Rechnungen nach Kundenname anzeigen lassen) realisiert. Bin für jede Hilfe dankbar. |
Re: Eine einfache Abfrage erstellen. Wie?
Ich habe das genannte Buch nicht, versuche aber mal nach deinem Angaben die Datenbankstruktur zu erkennen.
Annahme 4 Tabellen(Artikel, Kunden, Rechnungen und Rechnungsdaten). Alle Rechnungen pro Kunde:
SQL-Code:
Edit: sql-tags eingefügt
select
* from Rechnungen.db r, Kunden.db k where r.Kunde = k.id group by k.id |
Re: Eine einfache Abfrage erstellen. Wie?
Eine sehr simple Abfrage ist mir soeben gelungen. Das Eingrenzen von Rechnungszeitraum. Es wurden mir mit Hilfe von:
SQL-Code:
alle Rechnungen innerhalb dieses Zeitraums angezeigt. Leider befinden sich die Kundennamen in der Tabelle Kunden.db. Wie könnte man jetzt diese Abfrage erweitern, so dass vielmehr auch der jeweilige Kunde angezeigt wird?
SELECT * FROM rechnungen WHERE datum BETWEEN '01.02.2006' AND '18.02.2006'
|
Re: Eine einfache Abfrage erstellen. Wie?
Durch einen Join, siehe mein Beispiel oben.
Wenn du mir die DDL-Skripte der Tabellen postet, kann ich die richtigen Spaltennamen nehmen. |
Re: Eine einfache Abfrage erstellen. Wie?
Sorry für diese nun folgende dämliche Frage. Welche Dateien oder was genau soll ich denn posten (DDL-Skripte der Tabellen)?
|
Re: Eine einfache Abfrage erstellen. Wie?
DDl = Data Definition Language
Sql-Skripte zur Erzeugunger der Datenbank ( Create table ...) oder eine Übersicht der Tabellen mit Feldern |
Re: Eine einfache Abfrage erstellen. Wie?
Globaler Alias: BOffice.
Artikel.db: 1. Nr (Zähler, Indiziert) 2. Artikelname (Alpha) 3. Einkaufspreis (Währung) 4. Verkaufspreis (Währung) 5. Bestand (ShortInteger) 6. MwSt (Short Integer) Kunden.db: 1. Kundennr (Zähler) 2. Name (Alpha) usw. Rechnungen.de 1. Nr. (Zähler) 2. Datum (Datum) usw. Sollte erstmal reichen. Ich hoffe Du kannst damit was anfangen. |
Re: Eine einfache Abfrage erstellen. Wie?
In der Rechnungen.db sollte noch eine Verweis auf die Kunden stehen z.b. KundenNr
|
Re: Eine einfache Abfrage erstellen. Wie?
Dieses Feld ist vorhanden. KundenNr (Long Integer)
|
Re: Eine einfache Abfrage erstellen. Wie?
SQL-Code:
select
k.Name, r.Nr, r.Datum from Rechnungen r, Kunden k where r.KundenNr = k.Nr group by k.Nr |
Re: Eine einfache Abfrage erstellen. Wie?
Gibt mir folgenden Fehler aus: Wenn ein Group By existiert, muß sich jedes einfache Feld in den Projektoren im Group By befinden. Hört sich hochtrabend an. Trotzdem danke.
|
Re: Eine einfache Abfrage erstellen. Wie?
Das Group by ist hier auch überflüssig. lass es mal weg
|
Re: Eine einfache Abfrage erstellen. Wie?
Cool. Läuft bestens. Darauf kann man aufbauen. Danke! Schönen Sonntag noch.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:02 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