---
title: "Visa senaste inlägget i ett forum"
type: "forum-thread"
url: "https://www.webforum.nu/amne/databaser-sql/121243-visa-senaste-inlägget-i-ett-forum"
topic: "Databaser & SQL"
topic_url: "https://www.webforum.nu/amne/databaser-sql"
author: "henkz"
published: "2005-01-28T14:36:02.000Z"
updated: "2005-02-02T18:37:13.000Z"
replies: 9
views: 699
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/121243-visa-senaste-inlägget-i-ett-forum"
---

# Visa senaste inlägget i ett forum

## #1 — henkz, 2005-01-28T14:36Z

Jag skulle vilja kunna lista trådarna efter datum. Som det är nu hamnar nyaste tråden överst inte nyaste inlägget i densamma..

Koden nedan har jag försökt få ihop med hjälp av andra inlägg, men det fungerar inte för mig..

Felkod:

```
Microsoft OLE DB Provider for ODBC Drivers fel '80040e14' 
[MySQL][ODBC 3.51 Driver][mysqld-4.0.23-nt]You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'select max(xdatum) from forum where parent='1'),xdatum) as orde
```

forumdisplay.asp, rad 108

Rad 108: Set RS = conn.Execute(strSQL)

Db: MySQL 4.0.23

```
strSQL="select id,rubrik,left(msg,200),user,userid,status,visad,xdatum,coalesce((select max(xdatum) from forum where parent='"&fid&"'),xdatum) as orderDate from forum t order by orderDate desc"
```

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

## #2 — LarsG, 2005-01-28T16:22Z

```
select f1.id,f1.rubrik,left(f1.msg,200),f1.user,f1.userid,
f1.status,f2.visad,f1.xdatum,
coalesce(f1.xdatum,max(f2.xdatum)) as orderDate
  from forum f1
  left join forum f2 on f2.parent = f1.id
  where f1.parent is null
  group by f1.id,f1.rubrik,left(f1.msg,200),f1.user,f1.userid,
       f1.status,f2.visad,f1.xdatum
order by orderDate desc
```

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

## #3 — henkz, 2005-01-28T17:30Z

Den körs utan felmeddelande, men inga trådar listas.

Jag bifogar nuvarande sqlsträng som fungerar ,UTAN rätt sortering

```
strSQL = "SELECT id,rubrik,left(msg,200),user,userid,status,visad,xdatum FROM forum Where parent='"&fid&"' and trad='0' ORDER BY xdatum Desc"
```

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

## #4 — LarsG, 2005-01-28T17:39Z

Din fråga är ointressant. Det som betyder något är hur tabellen är definierad och kolumnvärdenas innebörd.

Jag gissade lite hur det hänger, t.ex. att det första inlägget i en tråd har null i kolumnen parent och att senare inlägg har id-värdet från det första inlägget i den kolumnen.

Om detta inte stämmer så får du beskriva hur det hänger ihop.

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

## #5 — henkz, 2005-01-28T17:51Z

inte riktigt så.. Egentligen har forumet flera steg. Samma struktur som detta forumet. Jag har valt att lägga de två sista stegen i en egen tabell.

Head och parent tillhör en annan tabell. När jag kommer till detta steg har jag med mig unikaid från parent tabellen : "&fid&"

Den ska då välja alla inlägg där parent= "&fid&" och trad=0

Vet inte om du förstår min dåliga beskriving.. Kan PM länken om du hellre vill se..

TABELLSTRUKTUR
id (int-räknare)
rubrik (varchar)
msg (varchar)
head (int)
parent (int)
trad (int)
status (int)
userid (int)
user (varchar)
visad  (int)
xdatum (datetime)

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

## #6 — henkz, 2005-01-28T20:25Z

Nu kommer jag inte längre..

denna kod ger samma resultat som den första koden jag använde. Den listar nyskapade trådar överrst, den sorterar inte via inläggen i tråden.

```
strSQL = "select f1.id,f1.rubrik,left(f1.msg,200),f1.user,f1.userid,
f1.status,f2.visad,f1.xdatum,
coalesce(f1.xdatum,max(f2.xdatum)) 
as orderDate from forum f1 left join forum f2 on
 f2.trad = f1.id where f2.parent= '"&fid&"' 
group by f1.id,f1.rubrik,left(f1.msg,200),f1.user,f1.userid, 
f1.status,f2.visad,f1.xdatum order by orderDate desc"
```

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

## #7 — henkz, 2005-02-02T14:04Z

ingen som kan ge lite tips?

Behövs det mer info för att ni kan hjälpa?

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

## #8 — henkz, 2005-02-02T18:26Z

Löste det själv..

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

## #9 — @nders, 2005-02-02T18:29Z

Då passar det väl alldeles utmärkt att posta din lösning här?

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

## #10 — henkz, 2005-02-02T18:37Z

Visst kan jag det..

```
strSQL = "SELECT rot.id, rot.rubrik, left(rot.msg,200), rot.user, rot.userid, rot.status, rot.visad, rot.xdatum, 
IFNULL(MAX(trad.xdatum), rot.xdatum) AS txdatum 
FROM forum AS rot LEFT JOIN forum AS trad ON rot.id=trad.trad 
WHERE rot.trad='0' AND rot.parent='"&fid&"' AND rot.head='"&parent&"' GROUP BY rot.id ORDER BY txdatum Desc"
```

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

---

Tråden på webben: https://www.webforum.nu/amne/databaser-sql/121243-visa-senaste-inlägget-i-ett-forum
