select f.*,iif((select max([datetime]) from posts where hostid = f.id),[datetime]) as [maxdate] from posts as f where hostid = 0 order by [maxdate] desc
I ASP säger den:
No value given for one or more required parameters.
När jag kör den i Access så frågar den först efter ett parametervärde för maxdate, och när man inte anger något, så funkar det fint...
Okej, nu visar den iaf posterna, men det visar fler än vad som finns (med hostid = 0), och inte i rätt ordning.
select f.Id, f.subject, f.userid, f.datetime, iif((select max([datetime]) from posts where hostid = f.id),[datetime]) as maxdate from posts as f where hostid = 0 order by 5 desc
Att den visar för många poster förstår jag inte varför.
Ordningen däremot
select f.Id, f.subject, f.userid, f.datetime, iif((select max([datetime]) from posts where hostid = f.id) is null,[datetime],(select max([datetime]) from posts where hostid = f.id)) as maxdate from posts as f where hostid = 0 order by 5 desc
Att den hämtade flera poster var bara ett slarvfel, dock är ordningen fortfarande lite konstig, skall kolla lite närmare på hur den sorterar nu och se om jag hittar något...
Nä ni, hittar inget... men det måste ligga i iif-satsen. Det verkar som om den sorterar efter "f.datetime", men den har jag ju inte angivit som order by fält...
select f.Id, f.subject, f.userid, f.datetime, iif((select max([datetime]) from posts where hostid = f.id) is null,[b]f.[/b]datetime,(select max([datetime]) from posts where hostid = f.id)) as maxdate from posts as f where hostid = 0 order by 5 desc
select f.Id, f.subject, f.userid, f.datetime, f.forumid = 1, iif((select max([datetime]) from posts where hostid = f.id and f.forumid = 1) is null,f.datetime,(select max([datetime]) from posts where hostid = f.id and f.forumid = 1)) as maxdate from posts as f where hostid = 0 and f.forumid = 1 order by 6 desc
Detta borde ju inte vara ett så ovanligt problem att man vill sortera efter senaste inlägget, varför är det så svårt för...
269 ms totalt · 4 externa anrop · v20260731065814-full.05830320