webForumDet fria alternativet
Logga in / Bli medlem

Max(datum)

Databaser & SQL

2 svar · 185 visningar · startad av doggelito

Medlem sedan juni 20003 076 inlägg
Trådstart#1

Denna hämtar inte högsta datumet varför, något fel?
I en fråga finns ett svar med datum: 2002-12-09 15:00:00
i en annan: 2002-12-10 14:00:00
och jag får den första av denna kod.

Select M.Alias, Max(Fr.Regdate) " & _
"From tblQuestions Fq " & _
"Inner Join tblReplies Fr On Fq.Questionid = Fr.Questionid " & _
"Inner Join tblMembers M On Fr.Memberid = M.Memberid " & _
"Where Fq.Categoryid = 1 " & _
"Group By M.Alias

kollar jag lokalt på min server i query analyzer så blir det rätt, i webservern har jag inte möjlighet att kolla.

databas: sql-2000

Medlem sedan dec. 200012 464 inlägg
#2

Du hämtar senaste datum per alias inte per question.

Så, group by fr.questionid istället.

Om du vill ha med alias så kan du lägga den som en skalär subselect.

Medlem sedan juni 20003 076 inlägg
#3

Får inte till det, vad menas med skalär?
Försökte med en subselect men med samma resultat.
Omgjord till en procedur denna gång:

CREATE PROCEDURE dbo.sp_viewReplies_Last 
@Questionid int
AS
Select R.Memberid, Max(R.Regdate), 
(Select Alias From tblMembers Where Memberid = R.Memberid)
From tblReplies R
Where R.Questionid = @Questionid
Group By R.Memberid
GO
255 ms totalt · 4 externa anrop · v20260731065814-full.81e7e81c
120 ms — deklarationer (db)
0 ms — hämta statistik (cache)
132 ms — hämta tråd, inlägg och bilagor (db)
121 ms — ändringar (db)