---
title: "Skapa händelseöversikt till community"
type: "forum-thread"
url: "https://www.webforum.nu/amne/databaser-sql/169569-skapa-händelseöversikt-till-community"
topic: "Databaser & SQL"
topic_url: "https://www.webforum.nu/amne/databaser-sql"
author: "Grillcliff"
published: "2008-03-03T12:18:57.000Z"
updated: "2008-03-04T11:03:10.000Z"
replies: 6
views: 597
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/169569-skapa-händelseöversikt-till-community"
---

# Skapa händelseöversikt till community

## #1 — Grillcliff, 2008-03-03T12:18Z

Skapar nyhetsflöde över händelser på ett community och allt funkar perfekt så när som på en grej. Flödet, som baserar sig på sina vänners händelser ser ut på följande vis:

Användare (M10) svarade i Diskussionstråd #1 (igår 19:53)
Användare 2 (M13) skrev på klotterplanket (igår 19:44)
Användare 3 (F18) uppdaterade sin profil (igår 19:23)

Felet uppkommer när man blir kompis med en annan, eftersom den då listar händelsen typ lika många gånger som man har kompisar. Har jag sju kompisar och jag blir kompis med en annan står det i händeleförloppet:

Användare (F24) blev kompis med användare (idag 12:15)
Användare (F24) blev kompis med användare (idag 12:15)
Användare (F24) blev kompis med användare (idag 12:15)
Användare (F24) blev kompis med användare (idag 12:15)
Användare (F24) blev kompis med användare (idag 12:15)
Användare (F24) blev kompis med användare (idag 12:15)
Användare (F24) blev kompis med användare (idag 12:15)
Användare (F24) blev kompis med användare (idag 12:15)

Antagligen har det att göra med WHERE-satsen, som jag använder för att ta ut vilka vänner hela händelsepresentationen ska basera sig på. Friends-tabellen används två gånger (LEFT OUTER JOIN och i WHERE-satsen) och jag har på känn att det sker något av en kollision där.

SQL = "SELECT f.intUserID as FID, f.intFriendID, u.id, u.strUsername, u.strSex, u.strBirthday, ft.strTopic, a.\*, a.intFriend as intKompis, a.intUserID as intID FROM actions a INNER JOIN users u ON u.id = a.intUserID LEFT OUTER JOIN forum_topics ft ON ft.id = a.intThread LEFT OUTER JOIN **friends f** ON f.intUserID = a.intFriend **WHERE** a.intUserID **IN** (SELECT f.intFriendID FROM **friends f** WHERE f.intUserID = " & Session("userid") & ") ORDER BY a.ID DESC LIMIT 0,20"

Går det att lösa?

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

## #2 — LarsG, 2008-03-03T12:29Z

Beskriv hur dina tabeller är definierade. Ge exempel på datainnehåll och förväntat resultat.

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

## #3 — Grillcliff, 2008-03-03T12:42Z

actions
![](http://www.asiat.se/com_01.jpg)
som synes två fält
intThread ifall händelsen härrör till ett forumssvar i en tråd
intFriend ifall händelsen härrör till att man blivit kompis med någon

friends
![](http://www.asiat.se/com_02.jpg)

users
har ID, strUsername, strBirthday och strSex m.m.

Lättast är nog att kika här för att förstå hur det ska se ut (bortsett från att den översta posten inte skall finnas med sex-sju gånger alltså): ![](http://www.asiat.se/com_03.jpg)

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

## #4 — Grillcliff, 2008-03-03T13:54Z

Är problemet överskådligt och finns det tillräckligt med information eller måste det kanske delas upp i flera hämtningar? Skulle visning av fulla tabelluppbyggnader hjälpa på traven? :)

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

## #5 — LarsG, 2008-03-03T19:41Z

```
SELECT f.intUserID as FID, 
       f.intFriendID, 
       u.id, 
       u.strUsername, 
       u.strSex, 
       u.strBirthday, 
       ft.strTopic, 
       a.*, 
       a.intFriend as intKompis, 
       a.intUserID as intID 
  FROM actions a 
  INNER JOIN users u ON u.id = a.intUserID 
  LEFT OUTER JOIN forum_topics ft ON ft.id = a.intThread 
  LEFT OUTER JOIN friends f ON f.intUserID = a.intFriend 
   and f.intFriendID = a.intuserID
 WHERE a.intUserID IN 
     (SELECT f.intFriendID 
        FROM friends f 
       WHERE f.intUserID = " & Session("userid") & ") 
 ORDER BY a.ID 
 DESC LIMIT 0,20
```

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

## #6 — LarsG, 2008-03-03T19:46Z

Du kommer att få problem dock, om en person har gjort flera inlägg och blivit kompis med flera. Egentligen så skulle du dela det i två frågor som du tar unionen av.

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

## #7 — Grillcliff, 2008-03-04T11:03Z

Tack så mycket för hjälpen! Nästa projekt blir att kolla på hur UNION används. Vet dock på ett ungefär hur det funkar :)

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

---

Tråden på webben: https://www.webforum.nu/amne/databaser-sql/169569-skapa-händelseöversikt-till-community
