Announcement

Collapse
No announcement yet.

Datumsrechnereien

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Datumsrechnereien

    Hallo,
    möchte mir eine Select-Abfrage erstellen, die mir neue Aufgaben auflistet.
    Die Abfrage unten funktioniert (Anfangsstadium^^), aber:
    ein Datensatz soll nur dann angezeigt werden wenn das Datum aus (MAX(L.GELIEFERTAM)+ k.LIEFERUNGINTERVALL as NEUELIEFERUNG) kleiner oder gleich (glaube ich mit <=NOW()) heute ist. Wo setze ich das richtig ein?

    Select
    k.BESTELLNR, k.FIRMA, k.HAUSNR, k.KDNR, k.KONTAKTNAME, k.KST, k.KUNDENLIEFERUNGID, k.PLZ, k.TELEFONNR, MAX(L.GELIEFERTAM)+ k.LIEFERUNGINTERVALL as NEUELIEFERUNG
    from
    KUNDENLIEFERUNG k
    INNER JOIN LIEFERSCHEINE L ON (k.KUNDENLIEFERUNGID=L.KDLIEFERMASTERID)
    GROUP BY
    k.BESTELLNR, k.FIRMA, k.HAUSNR, k.KDNR, k.KONTAKTNAME, k.KST, k.KUNDENLIEFERUNGID, k.PLZ, k.TELEFONNR, k.LIEFERUNGINTERVALL

    InterBase 7.5, Delphi 2006 Prof.

    Viele Grüsse
    Andreas

  • #2
    und wenn's geht:
    MAX(L.GELIEFERTAM)+ k.LIEFERUNGINTERVALL as NEUELIEFERUNG zeigt mir das neue Datum an. Ist es ein Feiertag (oder wenigstens Wochenende), dann soll er auf den nächsten Tag in der Woche springen.

    Danke noch mal

    Comment


    • #3
      Ich glaube ich habs:
      ganz hinten habe ich jetzt sowas geschrieben:
      HAVING (MAX(L.GELIEFERTAM)+ k.LIEFERUNGINTERVALL <= (CURRENT_DATE))

      Nur mit Wochenende oder Feiertag weiß ich noch nicht

      Comment


      • #4
        Um zu ermitteln, ob ein Tag ein Feiertag ist, musst du diese in einer extra Tabelle hinterlegen. Zur Wochentagberechnung gibt es vorgefertigte UDF-Funktionen (DayOfWeek) in den verschiedenen UDF-Bibliotheken

        Comment

        Working...
        X