Hallo Zusammen,
vielen Dank, dass Ihr versucht mir zu helfen!!!
@stifflersmom: Deine Abfrage ist zwar erheblich schneller (9sek statt 22 sek), aber erzeugt leider auch wieder den Fehler, dass die Menge zu hoch ist.
@Delphi.Narium: Tut mir leid für die unpräzise Beschreibung - ich tue mich immer ein wenig schwer damit...
Zitat:
Um wieviel zu hoch?
4-fache, 7849-fache, irgendwie bei jedem Satz anders falsch? Immer einmal mehr als erwartet?
Die Menge ist immer zu hoch und auch unterschiedlich viel zu hoch. Beim ersten Artikel sind alle Mengen um den Faktor 10 zu hoch, bei dem nächsten um den Faktor 20.
Als jetzt gerade die anderen Fragen beantworten wollte kam der Post von von himitsu. Ich ging auch davon aus, dass es daran liegt, dass beim join mehrere Datensätz passen. Daher habe ich die Lösung von stifflersmom um ein group by im join-select erweitert. Damit scheint es zu funktionieren...
Delphi-Quellcode:
select 0 as Nr,
a.watenr as Artikel,
sum(o.ltrest) as Menge ,
case when week(o.ltlite,3)<10 then concat(year(o.ltlite),'0',week(o.ltlite,3)) else concat(year(o.ltlite),week(o.ltlite,3)) end as KW,
o.tebez1 as ArtikelBez
from liefersituation o
join (select watenr from liefersituation where lpdivk='SSC' group by watenr) a on o.watenr=a.watenr
where (o.ltlite >= current_date and week(o.ltlite,3)<week(current_date,3)+25 )
group by o.watenr, kw
order by o.watenr, kw
Vielen Dank für Eure Mühe!!!
Gruß Patrick