Hallo #,
ich habe folgende Tabellen
Personal
PersAZM
in PersAZM stehen Arbeitszeitmodelle in der form
Id (primkey), PersonalId, StartDate (date), AZMId
Eine Person kann also mehrere Modelle besitzen.
Ich suche jetzt nach einer Query,
die mir von jeder Person den Eintrag mit dem größten Startdatum anzeigt.
Das muss mit Max und GroupBy gehen.
Die Syntax habe ich aber nicht drauf
Zur Zeit behelfe ich mir mit einer subquery<br>
select persazm1.* from pers_azm persazm1
where persazm1.startdate=
(
select max(persazm2.startdate) from pers_azm persazm2
where persazm2.personalid=persazm1.personalid
)
<p>
Das gefällt mir aber nicht so richtig (der SQL Plan zeigt mir einen natural scan)
<p>
Danke im voraus
Heiko
ich habe folgende Tabellen
Personal
PersAZM
in PersAZM stehen Arbeitszeitmodelle in der form
Id (primkey), PersonalId, StartDate (date), AZMId
Eine Person kann also mehrere Modelle besitzen.
Ich suche jetzt nach einer Query,
die mir von jeder Person den Eintrag mit dem größten Startdatum anzeigt.
Das muss mit Max und GroupBy gehen.
Die Syntax habe ich aber nicht drauf
Zur Zeit behelfe ich mir mit einer subquery<br>
select persazm1.* from pers_azm persazm1
where persazm1.startdate=
(
select max(persazm2.startdate) from pers_azm persazm2
where persazm2.personalid=persazm1.personalid
)
<p>
Das gefällt mir aber nicht so richtig (der SQL Plan zeigt mir einen natural scan)
<p>
Danke im voraus
Heiko
Comment