Avatar billede pnr Nybegynder
02. juni 2005 - 12:57 Der er 6 kommentarer og
3 løsninger

Sql sætning virker ikke som den skal

Jeg har følgende sqlsætning:

SELECT DISTINCT
                      beskrivelse.vaerdie, beskrivelse.produktId, specifikationsData.benaevnelse, beskrivelse.specId, produkt.underkatId, specifikation.raekkefoelge
FROM        produkt INNER JOIN
                      underKatSpec INNER JOIN
                      specifikation ON underKatSpec.specId = specifikation.specId INNER JOIN
                      specifikationsData ON specifikation.specId = specifikationsData.specId INNER JOIN
                      beskrivelse ON specifikation.specId = beskrivelse.specId ON produkt.produktId = beskrivelse.produktId
WHERE    (underKatSpec.medtagesIOversigt = 1)

Problemet er at den også retunere felter hvor underKatSpec.medtagesIOversigt = 0
Avatar billede dsj Nybegynder
02. juni 2005 - 13:04 #1
Følgende skulle løse problemet:

SELECT DISTINCT
                      beskrivelse.vaerdie, beskrivelse.produktId, specifikationsData.benaevnelse, beskrivelse.specId, produkt.underkatId, specifikation.raekkefoelge
FROM        produkt INNER JOIN
                      underKatSpec ON underKatSpec.medtagesIOversigt = 1 INNER JOIN
                      specifikation ON underKatSpec.specId = specifikation.specId INNER JOIN
                      specifikationsData ON specifikation.specId = specifikationsData.specId INNER JOIN
                      beskrivelse ON specifikation.specId = beskrivelse.specId ON produkt.produktId = beskrivelse.produktId
Avatar billede fennec Nybegynder
02. juni 2005 - 13:18 #2
...Også er det en god ide at joine i samme rækkefølge som tabellerne hænger sammen, da det gør koden mere forstålig. Dette burde også virke:

SELECT DISTINCT
  beskrivelse.vaerdie, beskrivelse.produktId, specifikationsData.benaevnelse, beskrivelse.specId, produkt.underkatId, specifikation.raekkefoelge
FROM produkt
  INNER JOIN beskrivelse ON produkt.produktId = beskrivelse.produktId
  INNER JOIN specifikation ON specifikation.specId = beskrivelse.specId
  INNER JOIN specifikationsData ON specifikation.specId = specifikationsData.specId
  INNER JOIN underKatSpec ON underKatSpec.specId = specifikation.specId
WHERE underKatSpec.medtagesIOversigt = 1
Avatar billede pnr Nybegynder
02. juni 2005 - 14:59 #3
dsj: den sqlsætning virker ikke..

fennec: Det giver samme resultat som før
Avatar billede fennec Nybegynder
02. juni 2005 - 15:20 #4
Det burde den ikke kunne. Heller ikke i din SQL fra første post.
Meget mærkelig ????

Det er ikke sådan at du har flere kriterier på din WHERE, hvor nogle af dem samles med OR??
Avatar billede pnr Nybegynder
02. juni 2005 - 15:40 #5
Jeg har kun det sql jeg har vist...
Avatar billede fennec Nybegynder
02. juni 2005 - 16:35 #6
Så ved jeg ikke hvad der er galt.
Og du er sikker på at de poster der kommer ud ikke har værdien underKatSpec.medtagesIOversigt = 1? Prøv evt at tage den med på selecten, så du kan se det...
Avatar billede pnr Nybegynder
14. juni 2005 - 08:27 #7
Jeg prøvede at lave sql sætning ved at bruge det værktøj der er i enterprice manageren når man skriver Query og nu virker det :^}

I skal alle have mange tak for jeres kommentare, fennec smid et svar så få du også lidt point....
Avatar billede fennec Nybegynder
16. juni 2005 - 08:17 #8
.o) <-- One Eyed Jack
Avatar billede pnr Nybegynder
23. juni 2005 - 06:34 #9
så vil jeg også lige være med :-)
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