---
title: "Få fram poster som inte matchar någon annan"
type: "forum-thread"
url: "https://www.webforum.nu/amne/databaser-sql/131755-få-fram-poster-som-inte-matchar-någon-annan"
topic: "Databaser & SQL"
topic_url: "https://www.webforum.nu/amne/databaser-sql"
author: "Troxy"
published: "2005-07-22T12:36:37.000Z"
updated: "2005-07-23T05:42:06.000Z"
replies: 9
views: 361
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/131755-få-fram-poster-som-inte-matchar-någon-annan"
---

# Få fram poster som inte matchar någon annan

## #1 — Troxy, 2005-07-22T12:36Z

Hej,

Jag har två tabeller. Posterna i de olika tabellerna länkas samman med kollumnen "accountid", en kollumn som finns i båda tabellerna.

Nu är det så att tabell A innehåller vissa poster där dess "accountid" inte matchar med någon post i tabell B.

Jag vill nu få fram dessa poster ur tabell A. Hoppas ni kan hjälpa mig!

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

## #2 — @nders, 2005-07-22T13:28Z

```
SELECT * FROM tabellA WHERE NOT accountID IN (SELECT accountID FROM tabellB)
```

Så länge vi inte pratar om någon uråldrig version av MySQL alltså.

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

## #3 — Troxy, 2005-07-22T13:45Z

Tack så mycket, jag ska testa den direkt.

Btw, servern jag kör mot använder MySQL 4.0.24, den är väl ganska ny?

EDIT: Hm...jag får inte till det. Såhär ser frågan ut:

```
SELECT * FROM tblaccounts WHERE NOT accountid IN (SELECT accountid FROM tblaccountowner)
```

Och detta får jag tillbaka:

> \#1064 - 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 'SELECT accountid FROM tblaccountowner)' at line 1

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

## #4 — @nders, 2005-07-22T13:48Z

MySQL 4.0.24 betecknas nog som uråldrig.

Varför inte uppgradera? Subqueries (som används i exemplet ovan) är mycket användbara, och stöds från och med version 4.1.

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

## #5 — Troxy, 2005-07-22T13:50Z

Hehe, okej, då är det alltså versionen som är gammal!  :e 

Jag får ta och ringa serverkillen och be honom uppgradera.

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

## #6 — @nders, 2005-07-22T13:50Z

Annars kan man ju skriva om det till en join:

```
SELECT tabellA.* FROM tabellA 
LEFT JOIN tabellB ON tabellA.accountID = tabellB.accountID 
WHERE tabellB.någotfält IS NULL
```

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

## #7 — Troxy, 2005-07-22T13:53Z

Tack så mycket för hjälpen. Jag testar denna fråga också.

Detta löser sig nog prima efter en uppgradering av mysql-drivern.

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

## #8 — @nders, 2005-07-22T13:57Z

De två frågorna i sig bör alltså ge exakt samma resultat, så av just denna anledning krävs inte uppgradering.

Det finns dock ingen anledning att *inte* uppgradera. :)

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

## #9 — mozilla, 2005-07-22T21:27Z

***@nders***: Finns det någon prestandavinst i någon av metoderna? Eller är de fullt likvärdiga? Det vill säga Subqueries vs. JOIN?

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

## #10 — @nders, 2005-07-23T05:42Z

> **mozilla skrev:**
>
> Finns det någon prestandavinst i någon av metoderna?

Jag har ärligt talat inte en aning. Om någon har tillgång till MySQL så är det bara att testa att köra frågorna med. Jag tvivlar dock på att det skulle vara någon större skillnad.

mvh

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

---

Tråden på webben: https://www.webforum.nu/amne/databaser-sql/131755-få-fram-poster-som-inte-matchar-någon-annan
