Avatar billede misbruger Nybegynder
25. oktober 2003 - 00:18 Der er 9 kommentarer og
1 løsning

Where clause

Jeg har en SQL string, der bliver skabt med n antal clauses

SELECT I.Indeks
FROM sd_instances I, sd_relations R, sd_options O
WHERE R.Instance = I.Indeks AND R.ProOption = O.Indeks 
AND (O.Indeks = 6) AND (O.Indeks = 2) AND (O.Indeks = 11)

O.Indeks = X kan forkomme n antal gange....

Men dette kan tilsyneladende ikke lade sig gøre... Den returnere ingen poster, selv om jeg ved der er 2 poster der svare på ovenstående..

Hvordan laver jeg denne sql?
Avatar billede arne_v Ekspert
25. oktober 2003 - 00:20 #1
Brug OR i.s.f. AND !
Avatar billede arne_v Ekspert
25. oktober 2003 - 00:21 #2
SELECT I.Indeks
FROM sd_instances I, sd_relations R, sd_options O
WHERE R.Instance = I.Indeks AND R.ProOption = O.Indeks
AND ((O.Indeks = 6) OR (O.Indeks = 2) OR (O.Indeks = 11))
Avatar billede misbruger Nybegynder
25. oktober 2003 - 00:32 #3
...nej! det er vigtigt at alle kriterierne bliver opfyldt!
Avatar billede arne_v Ekspert
25. oktober 2003 - 00:34 #4
O.Indeks kan ikke være både 6 og 2 samtidigt.

Det må være OR.
Avatar billede misbruger Nybegynder
25. oktober 2003 - 00:54 #5
Det er netop det der er problemet!

Jeg skal bruge de poster der har relationer til alle 3 Options på engang!
Avatar billede helmet Nybegynder
25. oktober 2003 - 10:07 #6
SELECT I.Indeks
FROM sd_instances I, sd_relations R, sd_options O
WHERE R.Instance = I.Indeks AND R.ProOption = O.Indeks 
AND O.Indeks IN (2,6,11)

Så vil du få alle dem hvor Indeks er = 2, 6 og 11
Avatar billede lap Nybegynder
25. oktober 2003 - 10:13 #7
som giver det samme som OR :-)
Avatar billede helmet Nybegynder
25. oktober 2003 - 10:14 #8
Ja sgu da :( Det er også tidligt :)
Avatar billede venne Nybegynder
25. oktober 2003 - 17:03 #9
Jeg tror har brug for:

SELECT I.Indeks
FROM sd_instances I, sd_relations R, sd_options O
WHERE R.Instance = I.Indeks AND R.ProOption = O.Indeks 
AND O.Indeks IN (2,6,11)
GROUP BY I.Indeks
HAVING COUNT(*) = 3
Avatar billede misbruger Nybegynder
27. oktober 2003 - 00:07 #10
hallo venne....

lige i øjet skipper!

takker pænt!
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