Hallo,
um Nachfragen vorzubeugen, ich kenne die Suchfunktion und habe auch schon einiges
herausbekommen, doch ich brauche Hilfe.
Ich habe eine Tabelle (MAGRP_HISTORIE) u. a.mit den Einträgen "MANR_F,GUELTIG_AB,h.MONATSPLANTEILNR_F".
In "MANR_F" ist die Mitarbeiternummer
In "GUELTIG_AB" das Datum als Zahl (z.B. 5560 für Heute)
In "MONATSPLANTEILNR_F" die Mitarbeitergruppe ( 1 bis 130)
Nun versuche ich eine Abfrage zu erstellen, die mir alle Mitarbeiter (MANR_F) ausgibt, die aktuell in der ,z.B. Mitarbeitergruppe Nr. 30, sind, also das höchste Datum (GUELTIG_AB) in (MONATSPLANTEILNR_F).
Ich habe dies vollbracht:
select h.MANR_F,MAX(h.GUELTIG_AB),h.MONATSPLANTEILNR_F
from MAGRP_HISTORIE h
Group By h.MANR_F,h.MONATSPLANTEILNR_F
having MAX(h.GUELTIG_AB) <= ? (wird von vb6 als Variable übergeben- aktueller TAG)
and h.MONATSPLANTEILNR_F =? (wird von vb6 als Variable übergeben)
ORDER BY h.MONATSPLANTEILNR_F
Nun bekomme ich natürlich immer nur das größte Datum in der Gewählten Gruppe, aber nicht das größte, das es für den Mitarbeiter gibt.
Da ich eine Auswertung nach (Mitarbeiter)-Gruppen mache (muß), kommt es nun vor, dass ein Mitarbeiter doppelt Geld bekommt, wenn er die Gruppe zwischenzeitlich gewechselt hat.
Für jede Hilfe bin ich dankbar
Jochen
um Nachfragen vorzubeugen, ich kenne die Suchfunktion und habe auch schon einiges
herausbekommen, doch ich brauche Hilfe.
Ich habe eine Tabelle (MAGRP_HISTORIE) u. a.mit den Einträgen "MANR_F,GUELTIG_AB,h.MONATSPLANTEILNR_F".
In "MANR_F" ist die Mitarbeiternummer
In "GUELTIG_AB" das Datum als Zahl (z.B. 5560 für Heute)
In "MONATSPLANTEILNR_F" die Mitarbeitergruppe ( 1 bis 130)
Nun versuche ich eine Abfrage zu erstellen, die mir alle Mitarbeiter (MANR_F) ausgibt, die aktuell in der ,z.B. Mitarbeitergruppe Nr. 30, sind, also das höchste Datum (GUELTIG_AB) in (MONATSPLANTEILNR_F).
Ich habe dies vollbracht:
select h.MANR_F,MAX(h.GUELTIG_AB),h.MONATSPLANTEILNR_F
from MAGRP_HISTORIE h
Group By h.MANR_F,h.MONATSPLANTEILNR_F
having MAX(h.GUELTIG_AB) <= ? (wird von vb6 als Variable übergeben- aktueller TAG)
and h.MONATSPLANTEILNR_F =? (wird von vb6 als Variable übergeben)
ORDER BY h.MONATSPLANTEILNR_F
Nun bekomme ich natürlich immer nur das größte Datum in der Gewählten Gruppe, aber nicht das größte, das es für den Mitarbeiter gibt.
Da ich eine Auswertung nach (Mitarbeiter)-Gruppen mache (muß), kommt es nun vor, dass ein Mitarbeiter doppelt Geld bekommt, wenn er die Gruppe zwischenzeitlich gewechselt hat.
Für jede Hilfe bin ich dankbar
Jochen