---
title: "Self join (igen)"
type: "forum-thread"
url: "https://www.webforum.nu/amne/databaser-sql/21852-self-join-igen/page2"
topic: "Databaser & SQL"
topic_url: "https://www.webforum.nu/amne/databaser-sql"
author: "Vide"
published: "2001-12-18T18:24:00.000Z"
updated: "2001-12-22T16:03:00.000Z"
replies: 25
views: 422
page: 2
pages: 2
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/21852-self-join-igen"
---

# Self join (igen)

_Sida 2 av 2._

## #21 — LarsG, 2001-12-19T00:19Z

```
select f.id,f.subject,f.userid,f.hostid,max(f.datetime) from posts f
  where f.forumid = 1
  group by f.id,f.subject,f.userid,f.hostid
 order by 5
```

Otestat ... ???

red: Du kan glömma detta

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

## #22 — LarsG, 2001-12-19T13:49Z

Jag tycker att din datamodell är lite skev. Borde du inte dela upp det i två tabeller? En som innehåller ämne och esom innehåller inlägg och svar.

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

## #23 — Vide, 2001-12-19T13:52Z

Möjligt att den är lite skev, men hur hjälper det att dela upp det i två tabeller?

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

## #24 — spango, 2001-12-19T18:59Z

Hm... jag gjorde en sån här grej för ett tag sedan, och använde en SQL-snutt i stil med den här (tagen direkt från huvudet, extremt otestad):

```
SELECT ancestor.id AS id, ancestor.hostid AS hostid, ancestor.datetime AS datetime, MAX(descendant.datetime) AS latest_answer
FROM posts ancestor, posts descendant
WHERE ancestor.id IN (descendant.id, descendant.hostid) AND ancestor.id = 0
GROUP BY 1, 2, 3
ORDER BY 4
```

Kan dock ställa till problem eftersom bara de direkta "barnen" till första posten i tråden räknas, och inte deras barn... klurigt...

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

## #25 — Vide, 2001-12-19T19:39Z

spango, efter lite pysslande med den SQL-satsen så fick jag äntligen till det... tackar då mycket... Tack till alla som hjälpte till, jag börjar nu fatta lite mer... ;)

Koden blev denna:

```
select f.Id, f.subject, f.userid, f.datetime, max(q.datetime) from posts as f, posts as q where f.id in( q.hostid, q.id ) and f.hostid = 0 and f.forumid = 1 group by f.id, f.subject, f.userid, f.datetime order by 5 desc
```

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

## #26 — Lasp, 2001-12-22T16:03Z

En perfekt tråd
Ett problem. Ett antal svar. En verifiering (med kodsnutt)Problemet löst.
Hur kan man hitta denna senare?
Vilka är nyckelorden om man skulle ha en Db med frågor och svar!
Eller en sökbar trädstruktur.
Vill gärna ha tillgång till sånt.
Har inte fast uppkoppling så en CD skulle sitta fint.

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

---

Tråden på webben: https://www.webforum.nu/amne/databaser-sql/21852-self-join-igen/page2  
Föregående sida: https://www.webforum.nu/amne/databaser-sql/21852-self-join-igen.md
