Avatar billede max33 Nybegynder
01. november 2010 - 09:18 Der er 5 kommentarer og
1 løsning

Select med join

Hej

aa:
1 - a
2 - b
3 - c

xx:
b - ww
c - yy

Jeg har en SELECT forspørgelse hvor jeg bruger LEFT JOIN xx ON xx.a = aa.b
Dette resulter i at jeg kun får data hvis der er data i xx:

2 - b - ww
3 - c - yy

Jeg vil gerne have data fra aa og hvis der er data i xx som passer til skal de selvfølgelig med.

så resultatet bliver:

1 - a - NULL
2 - b - ww
3 - c - yy
01. november 2010 - 09:55 #1
Hvad hedder felterne i dine tabeller?  Hvis du har:

aa
id navn
1  a
2  b
3  c

xx
navn efternavn
b    ww
c    yy

hvor xx.navn = aa.navn

saa skulle denne query give dig hvad du er efter:

SELECT * FROM aa LEFT JOIN xx ON aa.navn = xx.navn
Avatar billede max33 Nybegynder
01. november 2010 - 10:25 #2
Mener det er sådan jeg gør med følgende resultat:

2 b b ww
3 c c yy

Mangler:

1 a NULL NULL
01. november 2010 - 11:39 #3
1.  Jeg stod og skulle ud af doeren.  Jeg er tilbage nu.

2.  Det overrasker mig hvad du fortaeller.  Jeg lavede lige de foelgende to tabeller med dine vaerdier, og med nedenstaaende query fik jeg dette resultat:

id  navn  navn  efternavn 
1 a NULL NULL
2 b b ww
3 c c yy

Prov at vise precis dine tabeller og din query saa jeg kan se hvor vi afviger.

Her er tabellerne, vaerdierne, og queryen:

CREATE TABLE max33a(id INT, navn VARCHAR(5));
INSERT INTO max33a VALUES(1, 'a');
INSERT INTO max33a VALUES(2, 'b');
INSERT INTO max33a VALUES(3, 'c');

CREATE TABLE max33x(navn VARCHAR(5), efternavn VARCHAR(5));
INSERT INTO max33x VALUES('b', 'ww');
INSERT INTO max33x VALUES('c', 'yy');

SELECT *
FROM max33a
LEFT JOIN max33x ON max33a.navn = max33x.navn
03. november 2010 - 06:23 #4
max33, fik du mit indlaeg?  Jeg er spaendt paa din reaktion og som sagt yderligere oplysninger saa jeg maaske kan hjaelpe til at faa det til ar virke.
Avatar billede max33 Nybegynder
09. november 2010 - 09:50 #5
Christian

Jeg har testet det og det virker fint, min forspørgelse er lidt mere kompliceret, men vil lige arbejde lidt videre med det.

Var bare ikke sikker på LEFT JOIN funktionen.

Smid et svar og du får point.
09. november 2010 - 12:35 #6
Svar fra mig.
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