Avatar billede madd Nybegynder
05. maj 2002 - 17:08 Der er 1 kommentar og
1 løsning

SQL Streng. Haster en smule. (Join)

Hej.


Jeg er stødt på lidt problemer ang. min SQL streng.


Jeg har tre tabeller:

x - med felterne: id, personnavn
y - med felterne: id, emnenavn
z - med felterne: xid, yid


Jeg vil så lave et udtræk, hvor poster fra 'x' som i 'z' har xid = id og yid = '1'.

Jeg har prøvet med flg:

SELECT * FROM x,z WHERE (z.xid = x.id AND z.yd = '1');

Dette er fungerer også fint, og returnere de poster i x som har en post i z, hvor xid er lig x.id, og yid er lig '1'.

Mit problem ligger i, at hvis jeg vil have at posterne i x også skal have z.yid = '2' virker det ikke. Jeg har prøvet med flg:


SELECT * FROM x,z WHERE (z.xid = x.id AND z.yd = '1') AND (z.xid = x.id AND z.yd = '2');


Jeg ved godt dette er forholdsvis svært, så derfor 50 points. Håber i kan hjælpe mig hurtigst muligt.


Mvh. Mattias
Avatar billede madd Nybegynder
05. maj 2002 - 17:12 #1
Ved nærmere eftertanke hjalp dette mig en smule på vej:


SELECT * FROM x, z WHERE ( z.xid = x.pid AND ( z.yid = 1 OR z.yid = 2 ));


Desværre returnerer dette den samme post flere gange - hvorfor? 40 points til den friske der kommer med svaret på dette.


Mvh. Mattias
Avatar billede madd Nybegynder
05. maj 2002 - 21:17 #2
Det var ikke lige til. Har fundet ud af en mere besværlig måde at finde ud af det på - men det virker!

Mvh. Mattias
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