(något tveksam till om detta borde ligga i sql-forumet, vänlig moderator får flytta isf)
Håller på att bygga om mitt forum. Ska hämta poster ur en tabell vilket idag ser ut så här ungefär:
Set RecSet = Databas.Execute("SELECT amne, skribent, datum, id, svar_id FROM k_inlagg WHERE forum_id="&Request.Querystring("id")&" and svar_id = 0 ")
If NOT RecSet.EOF Then arrRecSet = RecSet.GetRows()
RecSet.Close : Set RecSet = Nothing
En bit längre ner hämtar jag sedan samtliga poster som har svar_id = id dvs ett svar på ett orginalinlägg och visar datumet för det senaste svaret.
dSQL = "select TOP 1 svar_id, datum from k_inlagg where svar_id = " & id & " order by datum DESC"
Istället skulle jag vilja göra någon sorts (ehum, varning för vilda gissningar) subselect eller vad det nu kan tänkas heta. Jag vill alltså redan när jag hämtar alla poster kolla vilket datum det senaste svaret gjordes och sedan sortera utefter detta.
Någon som fattar vad jag menar och som kan hjälpa till?
SELECT amne, skribent, datum, id, svar_id ,
(select max(datum)
from k_inlagg
where svar_id = q.id) as maxSvarsDatum
FROM k_inlagg as q
WHERE forum_id = 4711
and svar_id = 0
Med reservation för att jag har missförstått vad som är vad av dina kolumner.
Om man vill vara noga så är det en korrelerad skalär subselect som man gör.
Hm, det fungerar tyvärr inte så bra? Samtliga inlägg får id 0, samma senaste svarsdatum och helt galet antal svar. Förmodar att det har att göra med getrows-delen på något sätt?
131 ms totalt · 3 externa anrop · v20260731065814-full.4bcf49fe