ich steh auf dem Schlauch
Posted by:
yves nope
Date: September 15, 2023 01:48AM
Guten Tag alle zusammen. Ich steh auf dem Schlauch und komm gerade nicht weiter, da ich relativ neu in diesem Thema bin.
SELECT a.adressnr AS KDNR, b.name1, a.belegnr, a.artikelnr, a.text AS ArtText,
a.menge AS Kontraktmenge, c.f1 AS Mengeneinheit,
a.lagerme AS Restmenge,
a.ekmkodatumvon AS Kontraktstart, a.ekmkodatumbis AS Kontraktende,
a.epreis, a.gesamt
FROM belegpos a
LEFT OUTER JOIN Kunden b ON (a.adressnr = b.kundennr)
LEFT OUTER JOIN gdidef c ON (c.satzart = 'ME' AND c.w0 = a.mengeneinh)
WHERE a.belegtyp = 'V' AND
a.belegart = 'KO' AND
a.menge > 0 AND
a.adressnr BETWEEN :vonKDNR AND :bisKDNR AND
getdate(a.ekmkodatumvon) BETWEEN :vondatum AND :bisdatum
ORDER BY a.belegnr, a.posnr;
Diese Abfrage bringt mir eine Liste all unserer Kontrakte, soweit schön und gut. Ich habe die Parameter, welche ich vor der Abfrage eingeben kann (KDNR und Datum von bis) das klappt alles soweit. Jetzt hatte ich den Gedanken, über einen weiteren Parameter Start oder Ende, die Liste kleiner ausfallen zu lassen und über einen weiteren Parameter nur nach den Kontrakten zu schauen die entweder bei start eben wie hier das abbilden oder ENDE und die Liste spuckt nur auslaufenden Kontrakte(a.ekmkodatumbis) in dem Zeitfenster aus. Dachte ich komm da mit einem CASE WHEN Konstrukt in der Where-Klausel hin, aber das funst so scheinbar nicht.. vielleicht hat hier jemand einen Anstoß für mich. Bitte bedenken.. Neuling 😉 Danke schonmal vorab 👍