Habi Geschrieben 18. März 2008 Teilen Geschrieben 18. März 2008 Hallo allerseits, ich habe ein SQL-Problem, dass ich nicht alleine gebacken bekomme. Ich habe im Moment ein Statement, dass stark reduziert so aussieht SELECT * FROM tabelle T1, tabelle2 T3 WHERE T1.termin < TODAY + (10*T3.wizeit) Dort werden alle Teile aus einer Tabelle ausgelesen, bei denen ein Bestelltermin einen gewissen Zeitraum in der Zukunft liegen, das passiert über einen festen Faktor und der Wiederbeschaffungszeit des Artikels (10 * Wiederbeschaffungszeit). Jetzt möchte ich aber eigentlich folgendes: Gib mir alle Teile, die innerhalb der nächsten x Tage bestellt werden, wobei x mindestens 30 Tage sind und max. 10*Wiederbeschaffungszeit. Eine MAX-Funktion für den WHERE Teil hab ich nicht gefunden. Aber ideal wäre irgendwie sowas: ... WHERE T1.termin < TODAY + (MAX(30, (10*T3.wizeit)) Weiss einer wie ich sowas mit SQL bauen kann? Grüße Habi Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Amenos Geschrieben 18. März 2008 Teilen Geschrieben 18. März 2008 mein sql ist zwar schon bisschen her aber ich würds mit nem sub-select auf x versuchen á la select * (das richtige einsetzen) from * (das richtige einsetzen) where x > 30 and x < max(t*..) (x sind die tage bis bestellung) und diesen select dann in den "normalen" select einbinden Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
dr.dimitri Geschrieben 18. März 2008 Teilen Geschrieben 18. März 2008 Welche Datenbank und welche Version dieser verwendest Du? Dim Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Habi Geschrieben 19. März 2008 Autor Teilen Geschrieben 19. März 2008 Hi, ich verwende Informix Version 10 Grüße Habi Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.