---
title: "Ta ut poster som delar samma taggar"
type: "forum-thread"
url: "https://www.webforum.nu/amne/databaser-sql/186580-ta-ut-poster-som-delar-samma-taggar"
topic: "Databaser & SQL"
topic_url: "https://www.webforum.nu/amne/databaser-sql"
author: "shiner"
published: "2011-04-04T03:04:47.000Z"
updated: "2011-04-04T15:34:48.000Z"
replies: 2
views: 1317
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/186580-ta-ut-poster-som-delar-samma-taggar"
---

# Ta ut poster som delar samma taggar

## #1 — shiner, 2011-04-04T03:04Z

Hej, 

Här kommer en SQL-fråga: 

Jag kör just nu med följande system för taggar;

s_tags
tag_id, tag_name

s_items
  ...

s_item_tags
  id, tag_id, item_id

Alla taggar som finns är skapade i s_tags och sen kopplar jag dem till alla items i s_item_tags med varsin rad - no problems.

Så här kan det se ut:

s_items_tags
item_id \| tag_id
700  \| 10
700  \| 20
701  \| 10
701  \| 20
702  \| 10
702  \| 30

Så om jag vill få ut enbart poster som använder BÅDE tag 10 och 20, så skulle det bara bli 700 och 701 kvar i listan.

Enklaste och mest logiska (?) hade ju varit om **SELECT \* FROM s_items_tags WHERE tag_id=10 AND tag_id=20** hade fungerat, men det gör ju inte det.

Någon som har en lösning? Gruppera eller joina på nåt vänster?

Tack

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

## #2 — LarsG, 2011-04-04T07:13Z

```
select item_id
  from s_items_tags
 where tag_id in (10,20)
 group by item_id
having count(*) = 2
```

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

## #3 — shiner, 2011-04-04T15:34Z

Tack Lars,

having count(\*) löste allt!

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

---

Tråden på webben: https://www.webforum.nu/amne/databaser-sql/186580-ta-ut-poster-som-delar-samma-taggar
