Avatar billede steench Nybegynder
26. juni 2003 - 21:41 Der er 7 kommentarer og
1 løsning

Syntaks af 'in'

Hej

Jeg ønsker at finde poster i en tabel hvor tilsvarende ikke findes i en anden tabel, som f.eks :

select * from adresse
where postnummer not in
            (select postnummer from postnummertabel)

men jeg kan ikke få syntaksen til at blive rigtig.

På forhånd tak.
Avatar billede ahv Nybegynder
26. juni 2003 - 21:44 #1
Prøv ->

SELECT test1.*, test2.*
FROM test1, test2
WHERE test1.id != test2.id
Avatar billede fsconsult.dk Nybegynder
26. juni 2003 - 21:47 #2
select * from adresse
where NOT postnummer in (select postnummer from postnummertabel)

Dette forudsætter dog en version af MySQL der understøtter subselects.
Avatar billede jinxit Nybegynder
26. juni 2003 - 21:48 #3
Prøv istedet denne omskrivning...

SELECT Adresse.*
FROM Adresse LEFT JOIN Postnummertabel
    ON Adresse.postnummer = Postnummertabel.postnummer
WHERE Postnummertabel.postnummer IS NULL
Avatar billede fsconsult.dk Nybegynder
26. juni 2003 - 21:52 #4
jinxit >> ville du ikke benytte LEFT OUTER JOIN?  :-)

SELECT Adresse.*
FROM Adresse LEFT OUTER JOIN Postnummertabel
    ON Adresse.postnummer = Postnummertabel.postnummer
WHERE Postnummertabel.postnummer IS NULL
Avatar billede jinxit Nybegynder
26. juni 2003 - 21:54 #5
fsconsult.dk>> Syntaksen er LEFT [OUTER] JOIN

...nøgleordet OUTER er med andre ord indforstået
Avatar billede fsconsult.dk Nybegynder
26. juni 2003 - 21:57 #6
Uden OUTER tager du ikke de forekomster med hvor der ikke er match i begge tabeller. ret væsentligt hvis du vil teste på NULL
Avatar billede steench Nybegynder
26. juni 2003 - 21:58 #7
Tak for hjælpen. Det løste mit problem.
Avatar billede jinxit Nybegynder
26. juni 2003 - 22:01 #8
Det er fysisk umuligt, at lave en LEFT INNER JOIN.

Derfor er LEFT OUTER JOIN ækvivalent med LEFT JOIN
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