---
title: "Lista trådar i forum"
type: "forum-thread"
url: "https://www.webforum.nu/amne/databaser-sql/41783-lista-trådar-i-forum"
topic: "Databaser & SQL"
topic_url: "https://www.webforum.nu/amne/databaser-sql"
author: "Morph"
published: "2002-04-16T12:44:00.000Z"
updated: "2002-07-01T19:26:41.000Z"
replies: 3
views: 217
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/41783-lista-trådar-i-forum"
---

# Lista trådar i forum

## #1 — Morph, 2002-04-16T12:44Z

Jag håller på med ett forum med ett upplägg som wF:s. Nu har jag fått problem med sorteringen när jag hämtar huvudinläggen (parentPostID=0). Jag vill att det ska fungera som på wF, att tråden med det senaste svaret visas överst. 

Alla inlägg ligger i samma tabell, kallad posts. Tabellen ser ut såhär:

```
postID ! int IDENTITY
forumID ! int
topic ! varchar
parentPostID ! int
postText ! varchar
authorUserID ! int
postDate ! smalldatetime
locked ! bit
```

Jag sökte lite och hittade den här tråden: <http://www.webforum.nu/showthread.php?s=&threadid=21008&highlight=forum> som hjälpte mig på vägen. 

min nuvarande SQL-sats:

```
SELECT a.postID, a.parentPostID, a.topic, a.authorUserID, a.locked, b.postDate AS lastPostDate FROM posts AS a LEFT OUTER JOIN posts AS b ON a.postID=b.parentPostID WHERE a.forumID=1 AND a.parentPostID=0 ORDER BY b.postDate DESC
```

Problemet är dock att jag får flera exemplar av trådar med flera svar i retur när jag kör SQL-satsen i Query Analyzern. Finns det fem svar i en tråd får jag alltså fem rader tillbaka med samma postID. Hur ska jag lösa det?

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

## #2 — Morph, 2002-05-02T15:29Z

\*bump\*

Ingen som vet?

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

## #3 — LarsG, 2002-05-02T19:01Z

Något så här då

```
SELECT a.postID, a.parentPostID, a.topic, a.authorUserID, a.locked, 
       (select max(postDate) 
          from posts 
         where parentPostid = 0
            or parentPostid = a.postId) AS lastPostDate 
FROM posts AS a  
WHERE a.forumID=1 
  AND a.parentPostID=0 
ORDER BY b.postDate DESC
```

Vilken userid vill du ha? Den som startade tråden eller den som skrev sista inlägget?

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

## #4 — Morph, 2002-07-01T19:26Z

Rotar fram det här igen...

LarsG, din SQL-sats gav lite konstiga resultat. Om det finns en tråd utan några svar får alla trådar den senaste postens datum och tid i lastPostDate. Det uppstod ibland problem med datumen även om alla trådar hade minst ett svar.

Har du något annat förslag? Jag har funderat mig gråhårig på det här, jag fattar inte att det ska krångla så mycket...

> Vilken userid vill du ha? Den som startade tråden eller den som skrev sista inlägget?

Jag vill ha samma upplägg som på wF, dvs userID på den som startade tråden.

All hjälp välkomnas!

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

---

Tråden på webben: https://www.webforum.nu/amne/databaser-sql/41783-lista-trådar-i-forum
