Avatar billede sunlock Nybegynder
24. marts 2005 - 14:26 Der er 7 kommentarer og
1 løsning

Sammenligne tabeller

Jeg har 2 tabeller. Den ene har alle mine brugere, den anden har nogle af dem.

Jeg skal så sammenligne disse to tabeller, og hente alle de brugere som IKKE står i den anden tabel.

Hvordan gør jeg det lettest?
Jeg har prøvet med:
SELECT tabel1.id FROM tabel1, tabel2
WHERE tabel1.id != tabel2.id

Men det virker ikke helt efter hensigten.
Avatar billede barklund Nybegynder
24. marts 2005 - 14:29 #1
Hvis tabel1 har alle og tabel2 kun nogle:

SELECT tabel1.id FROM tabel1 LEFT JOIN tabel2 ON tabel1.id = tabel2.id WHERE tabel2.id IS NULL

Altså LEFT JOIN'e og så fange de rækker, hvor der ikke er noget på højresiden.

--
Morten Barklund
Avatar billede sunlock Nybegynder
24. marts 2005 - 14:31 #2
Kanon :D

Smid lige et svar *hvorfor tænkte jeg ikke på join...*
Avatar billede arne_v Ekspert
24. marts 2005 - 14:31 #3
Eller hvis du er på MySQL 4.1:

SELECT id
FROM tabel1
WHERE id NOT IN (SELECT id FROM tabel2)
Avatar billede sunlock Nybegynder
24. marts 2005 - 14:32 #4
arne_v <<
Har prøvet det - men desværre sidder jeg på en "oldnordisk" 4.0.x :(
Avatar billede barklund Nybegynder
24. marts 2005 - 17:16 #5
Og når nu det kan laves uden subselect, så tror jeg næsten også, at det vil være hurtigere - men det kunne da være interessant at prøve :)
Avatar billede barklund Nybegynder
24. marts 2005 - 17:16 #6
Hov, et svar :)
Avatar billede barklund Nybegynder
26. marts 2005 - 10:37 #7
Og tark for points :)
Avatar billede sunlock Nybegynder
26. marts 2005 - 10:38 #8
Taaark for hjælpen og det hurtige svar :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester