---
title: "lista ur 2 tabeller"
type: "forum-thread"
url: "https://www.webforum.nu/amne/databaser-sql/87470-lista-ur-2-tabeller"
topic: "Databaser & SQL"
topic_url: "https://www.webforum.nu/amne/databaser-sql"
author: "henrikjohansson"
published: "2003-10-02T11:52:49.000Z"
updated: "2003-10-07T21:37:32.000Z"
replies: 6
views: 299
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/87470-lista-ur-2-tabeller"
---

# lista ur 2 tabeller

## #1 — henrikjohansson, 2003-10-02T11:52Z

Jag har 2 tabeller

en med ID och Nummer
och en med ID och 2 Nummer
:D

Saken är den att i ena ligger en komplett lista och i den andra en lista över vissa av värderna i den första tabellen.. 

Typ

Tabell 1

ID      Nummer
1       1
2       3
3       5
4       8
5       19
6       32

osv.

och tabell 2
ID       Nummer
1       1
2       3
3       8
4       32

Jag vill lista ALLA i Tabel 1 som inte finns i Tabell 2
Hur gör man det lättast? (utan att slå ihop tabellerna)

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

## #2 — LarsG, 2003-10-02T12:55Z

```
select t1.* 
from t1 left join t2 
on t1.nummer = t2.nummer
where t2.nummer is null
```

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

## #3 — henrikjohansson, 2003-10-02T12:56Z

aha :D skall testa

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

## #4 — aasah, 2003-10-07T14:22Z

Re: lista ur 2 tabeller

> **henrikjohansson skrev:**
>
> Jag har 2 tabeller
> 
> en med ID och Nummer
> och en med ID och 2 Nummer
> :D
> 
> Saken är den att i ena ligger en komplett lista och i den andra en lista över vissa av värderna i den första tabellen.. 
> 
> Typ ....

Dina exempeltabeller stämmer inte med något av detta? :q Tabell 2 har två kolumner, inte tre. Dessutom finns det värden i tabell 2 som inte finns i tabell 1, och det stämmer inte med att den andra tabellen innehåller en del av värdena i den första... Vad menar du egentligen? :q

> **LarsG skrev:**
>
> select t1.\* 
> from t1 left join t2 
> on t1.nummer = t2.nummer
> where t2.nummer is null

Kan du förklara vad du gör? :q
Jag tycker det ser ut som att du gör en join över null-värden?!? 
t2.nummer ska vara null och lika med t1.nummer. ==\> Både t1s och t2s nummer kolumn ska vara null? Varför? Det verkar ju inte finnas några null-värden i tabellen? :q

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

## #5 — LarsG, 2003-10-07T17:49Z

Om man enbart tar frågan utan where-villkor så får man

t1.ID t1.Nummer t2.id t2.nummer
1 1 1 1
2 3 2 3
3 5 \<null\> \<null\>
4 8 3 8
5 19 \<null\> \<null\>
6 32 4 32

och efter det att where-villkoret evaluerats blir det

t1.ID t1.Nummer t2.id t2.nummer
3 5 \<null\> \<null\>
5 19 \<null\> \<null\>

dvs de nummer som finns i t1 men inte i t2.

Normalt sett brukar man skriva en sådan fråga som

```
select * from t1 where nummer not in (
select nummer from t2)
```

men det stöds inte av Mysql. Varianten med en outer join är inte ekvivalent men ger oftast samma resultat.

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

## #6 — aasah, 2003-10-07T21:28Z

Tack, LarsG! :)

Finns det inte stöd för mängdoperatorer heller? Dvs funkar inte följande:

Select \* from tabell1
except
Select \* from tabell2;
?

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

## #7 — LarsG, 2003-10-07T21:37Z

Nej. (Det är ganska få DBMS som har stöd för except.)

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

---

Tråden på webben: https://www.webforum.nu/amne/databaser-sql/87470-lista-ur-2-tabeller
