23. juni 2007 - 02:23Der er
4 kommentarer og 1 løsning
Sortere efter dato
Hej med jer,
Jeg sidder med en lidt svær SQL...
Jeg er i gang med at lave et forum, og i oversigten skal den vise det mest relevante fora øverst.
Den skal sortere efter dato for sidste post. Hvis i kigger på min SQL nedenunder, så skal jeg have blandet FT.DateCreated og FTo.DateCreated sammen og sorteret efter det.
Min SQL.
"SELECT FT.*,Ua.FirstName AS AuthorFirstName, Ua.LastName AS AuthorLastName,Ua.ID AS AuthorID, U.FirstName, U.LastName, U.ID AS LastThreadUserID, FTo.DateCreated AS LastThread, COUNT(FTo.ID) AS Result " & _ "FROM Forum_Topics FT " & _ "LEFT JOIN Forum_Topics FTo ON FTo.TopicID=FT.ID " & _ "LEFT JOIN Users U ON U.ID=FTo.UserID " & _ "LEFT JOIN Users Ua ON Ua.ID=FT.UserID " & _ "WHERE FT.GroupID=" & lngID & " AND FT.Hidden=0 " & _ "AND FT.Deleted=0 " & _ "GROUP BY FT.ID " & _ "ORDER BY FTo.DateCreated DESC " & _ "LIMIT " & lngStart & ", " & lngPageSiz
Det kan man godt, men så vil den først sortere efter FTo.DateCreated og derefter FT.DateCreated... Det skal den ikke.. den skal nærmest "blande" dem og sortere efter dem.
Ehm. Så forstår jeg ikke helt, hvad du mener.. Altså den viser ikke først alle FTo.DateCreated og dernæst FT.DateCreated. Hvis 2 har præcis samme dato, viser den bare FTo.DateCreated først frem for FTO.DateCreated.
I teorien virker det måske uhensigtsmæssigt at definere, hvilken der skal vises først, men i praksis vil det ikke være mærkbart.
Det er et forum, hvor spørgsmål og svar ligger i samme tabel. Forskellen på spørgsmål og svar er: Hvis det er et spørgsmål har den et groupid og topicid=0 Hvis det er et svar har den groupid=0 og et topicid (id'et på det spørgsmål der bliver svaret på)
Jeg skal så liste alle spørgsmål i en liste. Den som skal være øvert skal være det nyeste spørgsmål eller det nyeste svar.
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.