Tage zwischen zwei Daten anhand von Betriebskalender zählen

Fragen und Probleme rund um die Abfragespache SQL.

Tage zwischen zwei Daten anhand von Betriebskalender zählen

Beitragvon hafi » Di 15. Feb 2011, 15:09

[font=Arial]Hallo ich habe ein Problem für das mir irgendwie keine praktikable Lösung einfällt. Ich stelle mal das Problem in vereinfachter Form dar:

Ich habe eine Tabelle mit Verkaufsvorgängen und einen Betriebskalender. In der Verkaufstabelle hat jeder Vorgang ein Rechnungsdatum und einen Wunschtermin. Im Betriebskalender sind alle Tage hinterlegt und ob diese Arbeitstage sind.

Beispiel


Table_Verkaufsvorgänge
ID|Rechnungsdatum |Wunschtermin |
--+---------------+---------------
01|01.02.2011 |02.02.2011 |
02|05.02.2011 |02.02.2011 |


Table_Betriebskalender
Datum |Werktag |
-----------+----------
01.02.2011 | 1 |
02.02.2011 | 1 |
03.02.2011 | 0 |
[/font]04.02.2011 | 1 |05.02.2011 | 1 |
[font=Arial]Was ich jetzt möchte ist, die Anzahl Tage zwischen Wunschtermin und Rechnungsdatum ermitteln anhand des Betriebskalenders. Es sollen also nur die Tage gezählt werden, die Werktag = 1 haben. Also in meinem Beispiel bei Vorgang 02 wären es 2 Tage (03./04./05 -> 03. kein werktag also 2).

Ich hoffe ich konnte mich halbwegs verständlich ausdrücken ;-)
Vielleicht hat ja jemand eine Lösung dazu?
[/font]
hafi
Benutzer
 
Beiträge: 51
Registriert: Di 11. Sep 2007, 08:56

Beitragvon akretschmer » Di 15. Feb 2011, 15:30

hafi hat geschrieben:[font=Arial]Hallo ich habe ein Problem für das mir irgendwie keine praktikable Lösung einfällt. Ich stelle mal das Problem in vereinfachter Form dar:

Ich habe eine Tabelle mit Verkaufsvorgängen und einen Betriebskalender. In der Verkaufstabelle hat jeder Vorgang ein Rechnungsdatum und einen Wunschtermin. Im Betriebskalender sind alle Tage hinterlegt und ob diese Arbeitstage sind.

Beispiel


Table_Verkaufsvorgänge
ID|Rechnungsdatum |Wunschtermin |
--+---------------+---------------
01|01.02.2011 |02.02.2011 |
02|05.02.2011 |02.02.2011 |


Table_Betriebskalender
Datum |Werktag |
-----------+----------
01.02.2011 | 1 |
02.02.2011 | 1 |
03.02.2011 | 0 |
[/font]04.02.2011 | 1 |05.02.2011 | 1 |
[font=Arial]Was ich jetzt möchte ist, die Anzahl Tage zwischen Wunschtermin und Rechnungsdatum ermitteln anhand des Betriebskalenders. Es sollen also nur die Tage gezählt werden, die Werktag = 1 haben. Also in meinem Beispiel bei Vorgang 02 wären es 2 Tage (03./04./05 -> 03. kein werktag also 2).

Ich hoffe ich konnte mich halbwegs verständlich ausdrücken ;-)
Vielleicht hat ja jemand eine Lösung dazu?
[/font]


Du willst also die Tage zählen (select count()) mit der Bedingung, daß das Datum zwischen 2 Terminen ist und es ein Werktag ist, oder? Das klang doch schon fast wie SQL jetzt, gell?

Andreas
--
ads Das hatte dir akretschmer gestern schon gesagt und siehe da sobald du das machst, funktioniert es ;-)

https://www.xing.com/profile/Andreas_Kretschmer7
Hosting-Provider mit PostgreSQL-Support gesucht? Mich fragen!
akretschmer
Erfahrener Benutzer
 
Beiträge: 5938
Registriert: So 29. Okt 2006, 14:35
Wohnort: Kaufbach, Sachsen, Germany, Germany

Beitragvon hafi » Mi 16. Feb 2011, 14:41

Danke, soweit war ich eigentlich schon gewesen aber es kam nur Murks raus - habe meinen Fehler aber inzwischen erkannt. Danke :)
hafi
Benutzer
 
Beiträge: 51
Registriert: Di 11. Sep 2007, 08:56


Zurück zu SQL

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 0 Gäste