Avatar billede Slettet bruger
23. oktober 2006 - 16:00 Der er 3 kommentarer og
1 løsning

Avanceret SQL

Hej.

Jeg har en tabel debatindlæg der ser således ud:

ID    int (KEY)   
Parent    int   
Titel    varchar    150
Tekst    text    16
BrugerID int
DatoTid    datetime
Traad    int

Såfremt Parent = 0 Betyder dette er at det er hovedindlægget i tråden (Traad)

Jeg skal have lavet en overbliksside af debatten der kommer til at så nogenlunde sådan her ud.

http://www.sixcrazyminutes.com/forums/viewforum.php?f=2&sid=9c4b03d3359be073b24792ec5cd3af3b

Dvs. de indlæg der vises på overblikssiden, er disse debatindlæg hvor parent = 0

Den største problematik for mig er at der skal sorteres efter det seneste indlæg der er skrevet i den pågældende tråd, og IKKE blot den seneste tråd.
Avatar billede lorentsnv Nybegynder
23. oktober 2006 - 21:49 #1
Jeg har ikke testet nedenstående, men jeg vil tro du kønne gøre noget lignende:

Select *
From dinTabel t1
where Parent = 0
order by (Select max(DatoTid) from dinTabel t2 where Parent = t1.ID)
Avatar billede Slettet bruger
24. oktober 2006 - 08:35 #2
Hej.

Det ser faktisk ud til at virke. Dog skal jeg også have et ekstra felt med der indholder den nye maxdato. Altså den som den sorterer efter.
Avatar billede lorentsnv Nybegynder
24. oktober 2006 - 09:06 #3
Prøv at se om ikke følgende virker:

Select t1.*, (Select max(DatoTid) from dinTabel t2 where Parent = t1.ID) as MaxDate
From dinTabel t1
where Parent = 0
order by (Select max(DatoTid) from dinTabel t2 where Parent = t1.ID)
Avatar billede lorentsnv Nybegynder
30. august 2007 - 09:40 #4
Måske på tide at lukke spørgsmålet ;-)
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester