Hallo, hätte gerne gewußt, wie euer Select Statement für folgendes aussehen würde.
Zwei Tabellen Kunden und History
Code:
Kunden:
- KundenID
- ...
History:
- HistoryID
- KundenID
- FlagID
- LinkID
- ...
Die Tabelle History ist eine Rechnungshistorie, wo ich Rechnungen, Zahlungen, Gutschriften und Rücküberweisungen speichere.
Code:
FlagID Beschreibung
-------+----------------
1 Rechnung
2 Zahlung
3 Gutschrift
4 Rücküberweisung
Im Feld History.LinkID steht die HistoryID zu dem jeweilig dazugehörenden Datensatz. Zum Beispiel, wenn ich eine Rechnung habe und der Kunde hat bezahlt, dann steht im Zahlungs-Datensatz die LinkID zur Rechnung. Somit kann ich das eindeutig zuordnen.
Mich würde jetzt interessieren, wie das Select-Statement aussieht, wenn ich zum Beispiel alle Kunden haben will, die schon bezahlt haben. Unter Berücksichtigung evtl. vorhandener Gutschriften und neuerlicher Zahlscheinausstellung. Es kann ja vorkommen, dass ich eine Rechnung geschickt habe, die Adresse oder Firmenname, etc. nicht genau gepasst haben, er daher eine Gutschrift bekommt und dann einen neuerlichen Zahlschein. Das würde dann so ausschauen:
Code:
HistoryID KundenID FlagID LinkID
----------+---------+-------+------
1 1 1 #Rechnung
2 1 3 1 #Gutschrift
3 1 1 #Rechnung
Oder wenn bereits bezahlt wurde, aber eine Rücküberweisung stattgefunden hat
Code:
HistoryID KundenID FlagID LinkID
----------+---------+-------+------
1 1 1 #Rechnung
2 1 2 1 #Zahlung
3 1 3 1 #Gutschrift
4 1 4 1 #Rücküberweisung
In diesem Fall hat der Kunde natürlich nicht bezahlt...
Wie sieht da also die Abfrage aus? Ist übrigens eine Access-Datenbank, aber das ist ja eigentlich Powidl...