Hallo,

wenn ich die Aufgabenstellung richtig verstehe, versuchst Du pro Lager und Artikel den letzten Satz (höchstes Datum mit der höchsten Zeit) zu ermitteln und in die zweite Datei zu übertragen.

Wie Du bereits festgestellt hast, brauchst dazu mehrere Schritte.
1. Der Satz mit dem höchsten Datum muss ermittelt werden
2. Die höchste Urzeit des ausgewählten Datums muss ermittelt werden.
3. Mit diesen Informationen muss der entsprechende Satz ermittelt werden und in die zweite Datei eingefügt werden.

Versuch's mal mit folgendem Statement:
PHP-Code:
Insert into mytable2
Select c
.*
   
from  (select Lager aLagerArtikel aArtikelMax(DatumaDatum
            from MyTable 
            where Lager 
'LO' and Datum between 20080901 and 20080930
            Group by Lager
Artikela
    join 
(Select Lager bLagerArtikel bArtikelDatum bDatumMax(ZeitbZeit
            from MyTable 
            group by Lager
ArtikelDatumb
    On aLager 
Blager and aArtikel bArtikel and aDatum bDatum
    Join  MyTable c
    on Lager 
aLager and Artikel bArtikel and Datum aDatum and Zeit bZeit 
Anstatt Sub-Selects in der From-Anweisung könnten auch Common Table Expressions verwendet werden.
Auf alle Fälle sollten Zugriffswege (DDS beschriebene logische Dateien oder SQL Indices) über Lager/Datum und Lager/Artikel/Datum/Zeit vorhanden sein.

Bei der obigen Lösung können Zugriffswege verwendet werden. Bei einer Lösung, bei der eine oder mehrere Spalten konvertiert und verknüpft werden, nimmt man dem Optimizer jede Möglichkeit (zumindest vor Release 6.1) Zugriffswege für diese Spalten zu verwenden. Die Folge ist u.U. ein Table Scan, d.h. jeder Satz in der Datei wird gelesen.

Birgitta