---
title: "MySQL - where x not in (...)"
type: "forum-thread"
url: "https://www.webforum.nu/amne/databaser-sql/143884-mysql-where-x-not-in"
topic: "Databaser & SQL"
topic_url: "https://www.webforum.nu/amne/databaser-sql"
author: "sharkface"
published: "2006-03-14T01:01:30.000Z"
updated: "2006-03-14T09:57:31.000Z"
replies: 5
views: 385
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/143884-mysql-where-x-not-in"
---

# MySQL - where x not in (...)

## #1 — sharkface, 2006-03-14T01:01Z

Hej!

Har följande kod som jag inte får att funka i MySQL. Jag tror att frågan ska vara korrekt, men versionen jag har av databasen verkar inte kunna hantera denna typ av frågor.

```
select ID from A where 
ID not in 
(select A.ID from A, B where A.ID=B.ID)
order by xxx
```

Hur kan jag skriva detta på ett sätt så att MySQL förstår mig? Antar att jag måste använda nån typ av join eller liknande...

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

## #2 — Josef, 2006-03-14T01:32Z

Har för mig att bara MySQL 5:an har stöd för subqueries.

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

## #3 — Pace, 2006-03-14T01:34Z

```
select A.ID from A, B where A.ID <> B.ID
```

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

## #4 — @nders, 2006-03-14T04:40Z

> **Josef skrev:**
>
> Har för mig att bara MySQL 5:an har stöd för subqueries.

Nästan. :)

Från och med version 4.1 är det som gäller.

```
SELECT A.ID FROM A LEFT JOIN B ON A.ID = B.ID
WHERE B.ID IS NULL
ORDER BY xxx
```

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

## #5 — @nders, 2006-03-14T07:16Z

Jag passar också på att flytta tråden till SQL.

(Jag rapporterade tråden för flytt, men det visade sig att jag är moderator i forumet, så jag flyttar själv. Sorry, LarsG! :) )

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

## #6 — sharkface, 2006-03-14T09:57Z

Jag var för odetaljerad...

Hej och tack för bra svar!

@nders är nog inne på det jag behöver, men jag får inte riktigt till det med din kod som utgångspunkt (lite för ovan att jobba med joins). 
Koden nedan gör precis det jag vill, frågan är bara hur detta ska den se ut med join-satser istället för ...not in(sel...)

```
select p_ID, smeknamn 
from p 
where 
p_ID not in 
(
select P.p_ID 
from p P, p_i_grupp PIG 
where 
P.p_ID=PIG.p_ID and 
PIG.grupp_ID=1 and 
P.aktiv_F=1
) 
order by smeknamn
```

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

---

Tråden på webben: https://www.webforum.nu/amne/databaser-sql/143884-mysql-where-x-not-in
