---
title: "Problem med NOT EXISTS"
type: "forum-thread"
url: "https://www.webforum.nu/amne/databaser-sql/101603-problem-med-not-exists"
topic: "Databaser & SQL"
topic_url: "https://www.webforum.nu/amne/databaser-sql"
author: "Del Pero"
published: "2004-04-15T16:24:57.000Z"
updated: "2004-04-15T16:39:46.000Z"
replies: 2
views: 220
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/101603-problem-med-not-exists"
---

# Problem med NOT EXISTS

## #1 — Del Pero, 2004-04-15T16:24Z

Såhär ser min tabellstruktur ut (MySQL 4.0.18-standard):

```
album
--
id  |  namn

content
--
id  | album_id  |  bild_id
```

 

När man redigerar informationen om en bild vill jag kunna presentera en dropdown som innehåller alla album där den specifika bilden inte finns representerad.

Jag försöker hämta resultatet med den här SQL-koden, men får det inte att fungera.

```php
$sql = "SELECT a.albumID, a.albumName FROM t_album AS a WHERE NOT EXISTS ( SELECT * FROM t_album_content AS c WHERE a.albumID = c.conAlbum AND c.conImage = ".addslashes($_GET['i_id']).")";
```

 

> **Felmeddelandet skrev:**
>
> Notice: Query failed: You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'EXISTS ( SELECT \* FROM t_album_content AS c WHERE a.albumID = c SQL: SELECT a.albumID, a.albumName FROM t_album AS a WHERE NOT EXISTS ( SELECT \* FROM t_album_content AS c WHERE a.albumID = c.conAlbum AND c.conImage = 7)

 

Jag har letat runt lite i [dokumentationen](http://dev.mysql.com/doc/mysql/en/EXISTS_and_NOT_EXISTS_subqueries.html) men det har inte gjort mig mycket klokare...
Hur löser jag detta? :)

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

## #2 — @nders, 2004-04-15T16:30Z

Om jag inte missminner mig måste du använda MySQL 4.1 eller senare för att kunna köra subqueries på det sätt du vill. Du får nog göra det med en join istället:

```
$sql = "SELECT a.albumID, a.albumName FROM t_album AS a LEFT JOIN t_album_content AS c on a.albumID = c.conAlbum AND c.conImage = ".addslashes($_GET['i_id'])." WHERE c.conAlbum IS NULL";
```

Lite krångel har jag med WHERE och AND i joiner, men det är någonstans att starta i alla fall, även om det inte är helt perfekt.

Mvh

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

## #3 — Del Pero, 2004-04-15T16:39Z

Världsklass på inlägget ovan!

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

---

Tråden på webben: https://www.webforum.nu/amne/databaser-sql/101603-problem-med-not-exists
