PDA

Vollständige Version anzeigen : Summe der Anzahl unterschiedlicher Tage


FanProg
06.07.2006, 13:47
Hallo,

ich finde sehr viel im Forum über Anzahl Tage im Monat, oder Anzahl Arbeitstage usw.

Wer kann mir einen Hinweis geben, wie ich in einer Abfrage die Anzahl der ungleichen Tage je Kalenderwoche addiere ?

Bsp:
KW 27
03.06.06
03.06.06
04.06.06
05.06.06

Anzahl = 4
für mich ist aber die Anzahl 3 ( Produktionstage) die gesuchte, da der 03.06.06 zwei mal vorkommt.

*vermutlich gibt es eine einfache Lösung, nur bei der Wärme... heute finde ich keine :-).

Vielen Dank

FW
06.07.2006, 14:12
... mit GROUP BY deindatum solltest Du das hinkriegen...

FanProg
06.07.2006, 14:47
mit Group by bekomme ich die korrekte Anzahl Zeilen angezeigt.

Wenn ich jetzt in einer zweiten Abfrage diese Abfrage einbinde (Verknüpfung Datum mit Datum) und die Anzahl anzeigen will werden wieder alle Tage (4) gezählt.

FW
06.07.2006, 15:02
... versteh' ich nicht, zeig' doch mal...

FanProg
06.07.2006, 15:13
Hier die erste Abfrage:

SELECT KW([Datum]) AS KW, Protokoll.Datum AS PrdTg, Protokoll.Datum AS Day FROM Protokoll LEFT JOIN STAMM_Lin ON Protokoll.Lin = STAMM_Lin.Maschnr
GROUP BY KW([Datum]), Protokoll.Datum HAVING (((Protokoll.Datum)>=#1/1/2006# And (Protokoll.Datum)<=#12/31/2006#));
Jeder Tag wird nur einmal innerhalb der KW korrekt angezeigt.

Eingebunden in der zweiten Abfrage:

SELECT KW([Datum]) AS KW, Count(UebersichtPrdTage.PrdTg) AS [Anzahl von PrdTg], Sum(Protokoll.Zweischichtig) AS MSch, Sum(Protokoll.Lagereingang) AS Lageing, Sum([Maschineneingang]-[Lagereingang]) AS VrlPack, Count(KW([Datum])) AS AnzLinien, Sum([Lagereingang]*[Faktor]) AS Ltr, Sum([Ansatz]-([Lagereingang]*[Faktor])) AS Sverl
FROM (Protokoll LEFT JOIN STAMM_Lin ON Protokoll.Lin = STAMM_Lin.Maschinennr) LEFT JOIN UebersichtPrdTage ON Protokoll.Datum = UebersichtPrdTage.Day
WHERE (((Protokoll.Datum)>=#1/1/2006# And (Protokoll.Datum)<=#12/31/2006#))
GROUP BY KW([Datum]);

... wird wieder die Anzahl aller Tage (Count(UebersichtPrdTage.PrdTg) AS [Anzahl von PrdTg]) angezeigt.

Irgendwo habe ich noch einen Fehler.

Vielen Dank für die Unterstützung.

FW
06.07.2006, 15:26
... welche Beziehungen bestehen denn unter den beteiligten Tabellen?

FanProg
06.07.2006, 15:34
Es sind zwei Tabellen: Beziehungen wurden nicht festgelegt, nur eine Verknüpfung von Lin nach Maschinennr. (1:n)

FW
06.07.2006, 16:00
... Count(KW([Datum])) sollte Dir die Anzahl der KW's anzeigen, also in Deinem Beispiel 4, weil Du 4 Einträge hast, die in diese Kalenderwoche fallen.
Dein oberes Beispiel gruppiert nach Datum, nicht nach KW!

FanProg
06.07.2006, 16:04
Iyahouuhw, das ist es *freude*.

Vielen Dank -auch für deine Geduld.