Avatar billede reimers Nybegynder
09. februar 2004 - 11:50 Der er 2 kommentarer og
1 løsning

Join med alle records fra venstre tabel

Hej, jeg har to tabeller:

tabela
IDuser | Name
1      | Anders
2      | Peter

tabelb
IDuser | value1 | value2
1      | 2      | 5
1      | 3      | 6
2      | 3      | 8

Jeg vil gerne lave en join mellem tabela og tabelb, hvor alle records i tabela findes, men hvor value2 kun medtages hvis value1 har en bestemt værdi (f.eks. 2) ellers skal værdien sættes til NULL (jf. Resultat).

Resultat:
IDuser | Name  | value1 | value2
1      | Anders | 2      | 5
2      | Peter  | NULL  | NULL

Kan dette lade sig gøre? Jeg har forsøgt noget der ligner følgende:

SELECT * FROM tabela LEFT JOIN tabelb ON tabela.IDuser=tabelb.IDuser WHERE value1=2 OR value1 IS NULL

Det virker hvis Peter ikke har nogen records i tabelb, men ellers dur det ikke...

Håber nogen kan hjælpe.
mvh.
Reimers
Avatar billede arne_v Ekspert
09. februar 2004 - 12:37 #1
Hvad med:

SELECT * FROM tabela LEFT JOIN tabelb ON tabela.IDuser=tabelb.IDuser AND (value1=2 OR value1 IS NULL)

?
Avatar billede reimers Nybegynder
09. februar 2004 - 16:14 #2
Det var lige hvad der skulle til. Tusind tak for hjælpen.
Avatar billede arne_v Ekspert
09. februar 2004 - 16:29 #3
Kunne du så ikke lige have givet mig tid til at ligge et 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