---
title: "Sortera efter inlägget med senaste svaret..."
type: "forum-thread"
url: "https://www.webforum.nu/amne/databaser-sql/21363-sortera-efter-inlägget-med-senaste-svaret"
topic: "Databaser & SQL"
topic_url: "https://www.webforum.nu/amne/databaser-sql"
author: "Vide"
published: "2001-02-05T17:05:00.000Z"
updated: "2001-02-06T08:19:00.000Z"
replies: 7
views: 437
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/databaser-sql/21363-sortera-efter-inlägget-med-senaste-svaret"
---

# Sortera efter inlägget med senaste svaret...

## #1 — Vide, 2001-02-05T17:05Z

Hejsan!

Jag håller på att bygga ett forum, och på sidan där jag listar alla huvudtrådar (ParentId = 0) vill jag alltså att dom skall listas ut efter det inlägg med det senaste svaret.

Jag har testat en jäkla massa kombinationer på Selects med subquerys utan framgång...

Jag skulle ju kunna lösa det på andra sätt än i SQLsträngen, det känns väldigt onödigt och mer resurskrävande än att ta det direkt ur SQLen...

Nuvarande SQLsträng:

```
strSQL = "SELECT * FROM tblMessages WHERE tblMessages.ForumID = "
strSQL = strSQL & forumid & " AND tblMessages.ParentMessageID = 0 "
strSQL = strSQL & "AND tblMessages.Subject <> ''"
strSQL = strSQL & " ORDER BY Dateofpost DESC"
```

Mvh, vide

Permalänk: https://www.webforum.nu/p/21363

## #2 — @nders, 2001-02-05T17:29Z

hej vide.

jag hade gett mig på en self-join. (wow, det ordet två gånger på samma dag ;) )

exempel:

```
strSQL = "select a.* from tblMessages as a, tblMessages as b "
strSQL = strSQL & "where a.forumid = " & forumid & " and a.MessageID = b.ParentMessageID and a.ParentMessageID = 0 "
strSQL = strSQL & "order by b.Dateofpost desc"
```

mvh,

Permalänk: https://www.webforum.nu/p/351739

## #3 — Vide, 2001-02-05T17:43Z

Ojdå, det funkade ju nästan jättebra... du är en klippa @nders :)

Dock ett litet fel... Nu listas alla inlägg som har svar (i rätt ordning), men inlägg som inte har något svar kommer inte med... Och jag har aldrig hålt på med self-join förut så jag fattar inte hur man skall lösa det på ett bra sätt... :)

Mvh, Vide

Permalänk: https://www.webforum.nu/p/351740

## #4 — @nders, 2001-02-05T18:17Z

då får du prova dig på en left outer self-join. yeah!

men det klarar ju du, grabben. :)

Permalänk: https://www.webforum.nu/p/351741

## #5 — Vide, 2001-02-05T18:53Z

Sorry @nders, jag måste göra dig besviken... mina kunskaper i Joins är inte speciellt bra ännu... även om jag fattar lite om hur det går till, så kan jag inte förstå hur detta skall gå ihop... :(

Permalänk: https://www.webforum.nu/p/351742

## #6 — LarsG, 2001-02-05T20:05Z

One OJ coming up

```
strSQL = "select a.* from tblMessages as a left outer join tblMessages as b "
strSQL = strSQL & "on a.forumid = " & forumid & " and a.MessageID = b.ParentMessageID and a.ParentMessageID = 0 "
strSQL = strSQL & "order by b.Dateofpost desc"
```

En left outer join tar alla rader i vänstra tabellen (som uppfyller villkoren). Om det inte finns någon match i den högra så fylls det i med null i de kolumner som kommer från den tabellen, annars fungerar det som en vanlig join.

Permalänk: https://www.webforum.nu/p/351743

## #7 — Vide, 2001-02-05T21:55Z

Hmm... blev lite konstigt det där... :)

Jag glömde att berätta att mitt forum är trådat och därav gör jag ju en rekursiv sökning. Så sökningen funkar bra, enda felet är att den reknar bara det senaste inlägget ett i djup. Sedan tar den ju alla inlägg (inte bara parent = 0) skumt nog... nu blir jag bara mer förvirrad... ;)

Skall jag bygga om databasen så att jag har ett "mother"-fält, så jag lägger in det absolut första inläggets id i tråden?

Eller?

Mvh, Vide

Permalänk: https://www.webforum.nu/p/351744

## #8 — LarsG, 2001-02-06T08:19Z

> Skall jag bygga om databasen så att jag har ett "mother"-fält, så jag lägger in det absolut första inläggets id i tråden?

Utan att ha tänkt alltför mycket så låter det ok.
Håller med om att man känner sig lite yr!

Permalänk: https://www.webforum.nu/p/351745

---

Tråden på webben: https://www.webforum.nu/amne/databaser-sql/21363-sortera-efter-inlägget-med-senaste-svaret
