... wobei man da mehrere Sätze bekommen könnte, wenn es an dem ältesten Datum 2 Bewegungen gab, was einem bei dem Subselect auf die Füße fällt.
Bei den CTEs finde ich die Syntax ein wenig seltsam (wo muss das Ding stehen), die je nach Statement variiert, verschärft dadurch, dass unterschiedliche Datenbanken sich da unterschiedlich darstellen. Deswegen ziehe ich zuweilen einen nested select vor ala:

Select a.*
from (Select TeileNr, Max(BewDatum) as MinDat
From LagBew
Where BewSchl = 'XX'
Group By TeileNr) x
join LagBew a on x.TeileNr = a.TeileNr
and MinDat = a.BewDatum
and a.BewSchl = 'XX'

Zitat Zitat von B.Hauser Beitrag anzeigen
Wie wär's damit

PHP-Code:
Select TeileNrMax(BewDatum)
From LagBew
Where BewSchl 
'XX'
Group By TeileNr
Wenn Du jeweils den kompletten Datensatz brauchst, musst Du zusätzlich entweder eine Common Table Expression oder ein Sub-Select verwenden:

PHP-Code:
With x as (Select TeileNrMax(BewDatum) as MinDat
              From LagBew
              Where BewSchl 
'XX'
              
Group By TeileNr)
Select a.*
from x join LagBew a on     x.TeileNr a.TeileNr 
                        
and MinDat a.BewDatum
                        
and a.BewSchl 'XX' 
Birgitta