Hallo,
ich möchte eine Abfrage erstellen, welche mir den Umsatz mit allen Kunden innerhalb eines einzugebenen Zeitraumes errechnet.
Kunde A:
Vertragsbeginn am 01.01.05
Vertragsende am 01.05.05
Monatsbeitrag = 50€/Monat
Kunde B:
Vertragsbeginn am 01.02.05
Vertragsende am 01.02.06
Monatsbeitrag = 30€/Monat
Im Zeitraum vom 01.01.05 bis 31.12.2005 also
5 * 50€ + 10* 30€ = 550€
Folgende vier tabellen (spaltennamen) stehen zur Verfügung:
vertragsart (vertragsart_bezeichnung,monatsbeitrag,vertragslaufzeit)
bank (id_kontonummer,id_kunde,blz,bankname)
vertrag (id_kunde,id_vertragsart,vertragsbeginn,vertragsende)
kunde (id_kunde,vorname,…)
Mein php-Versuch:
$vbeg = Eingabe von (hier: 01.01.2005)
$vend = Eingabe bis (hier: 31.12.2005)
$sql_string = „select sum(months_between(’$vend’,’$vbeg’)*vertragsart.monatsbeitrag))
from vertrag, vertragsart, kunde,
where vertragsart.id_vertragsart=vertrag.id_vertragsart
and kunde.id_kunde = vertrag.id_kunde“;
Hierdurch rechnet er auch fein die Kundenumsätze aus und summiert diese, aber mein Denkfehler hierbei ist jedoch, dass er nicht berücksichtigt das der Vertrag von Kunde A bereits am 01.05. endet.
Ich verwende PHP 5.x sowie Oracle 8x (bzw. 10x).
Meine Erfahrungen mit SQL und PHP beschränken sich eher auf Grundfunktionen…
Wie baue ich ein, dass er ausschließlich Kunden für die Umsatzberechnung heranzieht, deren verträge innerhalb des eingegebenen Zeitraums liegen!?
Um Hilfestellung möchte ich hiermit freundlichst bitten.
Danke!
Dominik
PS: bitte erspart mir als Laien gut gemeinte Hinweise auf die php/sql-doku