---
title: "Söka efter alla inlägg av användare (SQL)"
type: "forum-thread"
url: "https://www.webforum.nu/amne/databaser-sql/21677-söka-efter-alla-inlägg-av-användare-sql"
topic: "Databaser & SQL"
topic_url: "https://www.webforum.nu/amne/databaser-sql"
author: "Pace"
published: "2001-10-15T22:32:00.000Z"
updated: "2001-10-17T13:43:00.000Z"
replies: 8
views: 150
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/21677-söka-efter-alla-inlägg-av-användare-sql"
---

# Söka efter alla inlägg av användare (SQL)

## #1 — Pace, 2001-10-15T22:32Z

Okej, vi skippar dösnackat! ;) 

1\. Detta är ett forum.
2 Vill söka efter alla inlägg som en användare gjort.
3\. Har tre tabeller:
\* PaceBoard_Topics - Trådens första inlägg
\* PaceBoard_Members \- Alla anävndare
\* PaceBoard_Replys \- Inläggen i en viss tråd
4\. Vill söka igenom dessa tre tabeller där både PaceBoard_Topics och PaceBoard_Replys kan innehålla inlägg som använaren gjort.

Har följande kod som söker igenom ett PaceBoard_Topics och \_Replys efter en söksträng:

```
SELECT
PaceBoard_Forums.Forum_ID, PaceBoard_Forums.F_Name, PaceBoard_Topics.Topic_ID,
PaceBoard_Topics.T_Subject, PaceBoard_Topics.T_Last_Post, PaceBoard_Members.M_Name

FROM ((PaceBoard_Forums
LEFT JOIN PaceBoard_Topics ON PaceBoard_Forums.Forum_ID = PaceBoard_Topics.Forum_id)
LEFT JOIN PaceBoard_Replys ON PaceBoard_Topics.Topic_ID = PaceBoard_Replys.Topic_ID)
LEFT JOIN PaceBoard_Members ON PaceBoard_Topics.T_Originator = PaceBoard_Members.Member_ID

WHERE (PaceBoard_Forums.F_Description LIKE '%pace%'
OR PaceBoard_Replys.R_Message LIKE '%pace%'
OR PaceBoard_Topics.T_Message LIKE '%pace%'
OR PaceBoard_Topics.T_Subject LIKE '%pace%')
```

\[Redigerat av Pace den 16 okt 2001\]

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

## #2 — LarsG, 2001-10-16T07:51Z

Gör en fråga som söker i topics och en som söker i replys (replies!) och lägg ihop dessa med en union.

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

## #3 — Pace, 2001-10-16T11:40Z

Okej, ska testa det!

> (replies!)

Jo jag vet, men tabellerna hette \_Reply och \_Topic, men de var ju pluralis inlägg i dem så jag la på ett 'S' slutet. ;)

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

## #4 — Pace, 2001-10-16T12:18Z

Hmmm, har lite svårigheter, det tycks gå över mitt förstånd.

Om jag söker efter exempelvis "Pace" i sökfältet, hur ska jag få PaceBoard_Members.M_Name = 'pace' att söka efter exempelvis användar ID 7?

```
SELECT PaceBoard_Forums.Forum_ID, PaceBoard_Forums.F_Name, PaceBoard_Topics.Topic_ID, PaceBoard_Topics.T_Subject, PaceBoard_Topics.T_Last_Post, PaceBoard_Members.M_Name

FROM ((PaceBoard_Forums LEFT JOIN PaceBoard_Topics ON PaceBoard_Forums.Forum_ID = PaceBoard_Topics.Forum_id)
LEFT JOIN PaceBoard_Replys ON PaceBoard_Topics.Topic_ID = PaceBoard_Replys.Topic_ID)
LEFT JOIN PaceBoard_Members ON PaceBoard_Topics.T_Originator = PaceBoard_Members.Member_ID

UNION SELECT PaceBoard_Replys.* FROM (PaceBoard_Replys LEFT JOIN PaceBoard_Topics ON PaceBoard_Replys.Topic_ID = PaceBoard_Topics.Topic_ID)
WHERE PaceBoard_Members.M_Name = 'pace'
```

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

## #5 — LarsG, 2001-10-16T20:50Z

Nu blir jag lite osäker på din datamodell.

Exakt vad ligger i tabellen topics?

```
SELECT PaceBoard_Forums.Forum_ID, 
       PaceBoard_Forums.F_Name, 
       PaceBoard_Topics.Topic_ID, 
       PaceBoard_Topics.T_Subject, 
       PaceBoard_Topics.T_Last_Post, 
       PaceBoard_Members.M_Name,
       'Topic' 
  FROM (PaceBoard_Forums INNER JOIN PaceBoard_Topics 
    ON PaceBoard_Forums.Forum_ID = PaceBoard_Topics.Forum_id)
  INNER JOIN PaceBoard_Members ON PaceBoard_Topics.T_Originator = PaceBoard_Members.Member_ID
   and PaceBoard_Members.M_Name = 'pace'
union all
SELECT PaceBoard_Forums.Forum_ID, 
       PaceBoard_Forums.F_Name, 
       PaceBoard_Topics.Topic_ID, 
       PaceBoard_Topics.T_Subject, 
       PaceBoard_Topics.T_Last_Post, 
       PaceBoard_Members.M_Name,
       'Reply'
  FROM ((PaceBoard_Forums INNER JOIN PaceBoard_Topics 
    ON PaceBoard_Forums.Forum_ID = PaceBoard_Topics.Forum_id)
  INNER JOIN PaceBoard_Replys ON PaceBoard_Topics.Topic_ID = PaceBoard_Replys.Topic_ID)
  INNER JOIN PaceBoard_Members ON PaceBoard_Replys.T_Originator = PaceBoard_Members.Member_ID
   and PaceBoard_Members.M_Name = 'pace'
```

Nu har jag gissat vad några kolumner heter.

Red: Lade till så att man kan skilja på topics och replys.

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

## #6 — Pace, 2001-10-16T22:05Z

Skulle du kunna ge en förklaring hur din SQL sats fungerar, jag är rädd för att mina kunskaper tog slut vid första inlägget. :e ;)

Tabellen PaceBoard_Topics innehåller i alla fall följande:

**PaceBoard_Topics**
Topic_ID - num
Forum_id - num
T_Subject - txt
T_Message - txt
T_Originator - num
T_Replies - num
T_Last_Post - date
T_Status - true/false
T_Date - date
T_MsgIcon - num
T_NoOfRead - num
T_OldForum  - num

\[r\] Förresten, varför flyttas tråden hit, till databaser/Sql forumet? Med tanke på att SQL forumet ligger under databaser-kategorin så borde det väl ha med SQL Server att göra? Eller är detta forum för allmänna SQL frågor? :q

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

## #7 — LarsG, 2001-10-17T07:42Z

En union all innebär att man får alla poster från de båda ingående select-satserna. (Om man utelämnar all så tas alla kopior bort från resultatet.) I en union så måste de båda ingående select-satserna returnera lika många fält och dessa måste vara av jämförbara typer.

De båda select-satserna är väl inte så konstiga, bara vanliga joinar.

Forumet är avsett för allmäna sql-frågor.

Egentligen är det Access och Mysql som är malplacerade i förhållande till rubriken.

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

## #8 — Pace, 2001-10-17T12:42Z

Det här fattar jag inte: 'Topic'  och 'Reply' (precis före båda FROM).

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

## #9 — LarsG, 2001-10-17T13:43Z

Jag lade bara till de konstanterna för att kunna skilja på inlägg, dvs om det en ny tråd eller ett svar.

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

---

Tråden på webben: https://www.webforum.nu/amne/databaser-sql/21677-söka-efter-alla-inlägg-av-användare-sql
