---
title: "Diff på två tabeller"
type: "forum-thread"
url: "https://www.webforum.nu/amne/databaser-sql/84064-diff-på-två-tabeller"
topic: "Databaser & SQL"
topic_url: "https://www.webforum.nu/amne/databaser-sql"
author: "tmb"
published: "2003-08-12T14:15:42.000Z"
updated: "2003-08-12T15:12:26.000Z"
replies: 2
views: 246
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/84064-diff-på-två-tabeller"
---

# Diff på två tabeller

## #1 — tmb, 2003-08-12T14:15Z

Hej!

Har grunnat över detta problem och kommer ingen vart.

Jag vill ha ut de poster i tabell A som \_inte\_ har en matchning i tabell B. Det är två fält som utgör nyckel. Tabell A och B har andra fält som inte är gemensamma.

Tabell A
\----------

k1   k2  d2 
1     1    1   
1     2    3   
2     1    1  

Tabell B

k1  k2  d3 
1    1    1   
1    2    4   

Nycklar är k1 och k2. d2 och d3 är bara extra fält för att ställa till det :D

Vad jag vill är alltså att bara få raden "2 1 1" i retur från en fråga. Man kan använda en join och köra distinct men det känns inte som om det är en korrekt lösning. Jag är inte intresserad av att sammanfoga tabellerna utan bara ta fram de diffande posterna. Någon fräsig WHERE-sats borde lösa det hela. Tycker att det borde vara en simpel grej men jag kan inte lista ut det bara. 

Tacksam för hjälp.

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

## #2 — spango, 2003-08-12T14:36Z

Hmmm...

*select \* from a where not exists (select \* from b where a.k1 = b.k1 and a.k2 = b.k2)*

kanske? det känns instinktivt som om nåt är galet men jag vet inte vad :)

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

## #3 — tmb, 2003-08-12T15:12Z

Ah, 'not exist' var det som behövdes :D Funkar ju precis som tänkt.

Tackar allra ödmjukost :D

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

---

Tråden på webben: https://www.webforum.nu/amne/databaser-sql/84064-diff-på-två-tabeller
