---
title: "Finns det en elegantare lösning?"
type: "forum-thread"
url: "https://www.webforum.nu/amne/databaser-sql/59880-finns-det-en-elegantare-lösning"
topic: "Databaser & SQL"
topic_url: "https://www.webforum.nu/amne/databaser-sql"
author: "Hansen"
published: "2002-11-21T19:42:48.000Z"
updated: "2002-11-21T20:11:07.000Z"
replies: 2
views: 280
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/59880-finns-det-en-elegantare-lösning"
---

# Finns det en elegantare lösning?

## #1 — Hansen, 2002-11-21T19:42Z

Hej,

Problem: Få ut alla personer som inte är med i grupp 10.

Tabeller:

```
+-----------+
| person    |
+-----------+
| id        | PK
| ......... |
+-----------+

+-----------+
| grupp     |
+-----------+
| id        | PK
| ......... |
+-----------+

+-----------+
| g2p       |
+-----------+
| person_id | FK -> person.id
| grupp_id  | FK -> grupp.id
+-----------+
```

Nuvarande lösning:

```

Fråga 1:

 SELECT p.id
   FROM person p,
        g2p g
  WHERE p.id = g.person_id
    AND g.grupp_id = 10

Fråga 2:

 SELECT p.id
   FROM person p
  WHERE p.id NOT IN(1,2,3,4) /* <- p.id´n från föregående fråga */
```

Finns det en elegantare lösning?

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

## #2 — LarsG, 2002-11-21T19:54Z

```
select * from person  left join g2p 
on person.id = g2p.person_id 
  and grupp_id = 10
 where g2p.person_id is null
```

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

## #3 — Hansen, 2002-11-21T20:11Z

Helt perfekt :) Tack!

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

---

Tråden på webben: https://www.webforum.nu/amne/databaser-sql/59880-finns-det-en-elegantare-lösning
