Avatar billede uneerup Nybegynder
18. september 2006 - 16:15 Der er 4 kommentarer og
1 løsning

SQL ikke lig med spg

Hej Eksperter,

jeg har følgende sql sætning der udskriver nogle vare og det virker fint.

SQL = "SELECT a.billede, b.navn, a.pris, a.id FROM vare a, vare_indh b, vare_placering c WHERE a.id=b.vareid AND a.id=c.vareid AND c.gruppeid="&request("vg")&" AND b.sprog="&sprogID&""

Men jeg har så endnu en tabel hvori der står nogle varenumre. Hvis de stemmer overens med nogle af de andre, så skal den IKKE skrive dem ud. Jeg havde tænkt mig det skulle se således ud, men synes ikke det virker.

SQL = "SELECT a.billede, b.navn, a.pris, a.id FROM vare a, vare_indh b, vare_placering c, vare_medtag d WHERE a.id=b.vareid AND a.id=c.vareid AND c.gruppeid="&request("vg")&" AND b.sprog="&sprogID&" AND d.vareid<>a.id"

Håber det er til at forstå.
Avatar billede arne_v Ekspert
19. september 2006 - 04:43 #1
jeg tror at du skal have en WHERE ... AND NOT IN (SELECT ...)
Avatar billede uneerup Nybegynder
19. september 2006 - 08:57 #2
Ok, jeg havde ellers kig på en EXCEPTION JOIN, men virker det i mssql? og ville det være det rigtige valg i denne situation?
Avatar billede uneerup Nybegynder
19. september 2006 - 09:40 #3
well jeg bruger dit eks. Tak for det, smid et svar.
Avatar billede arne_v Ekspert
20. september 2006 - 01:32 #4
ok
Avatar billede kjulius Novice
20. september 2006 - 20:07 #5
Jo, en exception join som denne burde virke (selvom jeg er mere hjemme i DB2 end SQL server :-)

SQL = "SELECT a.billede, b.navn, a.pris, a.id FROM vare a
INNER JOIN vare_indh b ON a.id=b.vareid
INNER JOIN vare_placering c ON a.id=c.vareid
EXCEPTION JOIN vare_medtag d ON d.vareid=a.id
WHERE c.gruppeid=" & request("vg") & " AND b.sprog=" & sprogID

Alternativt kunne man selvfølgelig også bruge en LEFT JOIN og kun medtage dem hvor felterne er NULL.

SQL = "SELECT a.billede, b.navn, a.pris, a.id FROM vare a
INNER JOIN vare_indh b ON a.id=b.vareid
INNER JOIN vare_placering c ON a.id=c.vareid
LEFT JOIN vare_medtag d ON d.vareid=a.id
WHERE c.gruppeid=" & request("vg") & " AND b.sprog=" & sprogID &
" AND d.vareid IS NULL"
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