bchpls Skrevet 23. september 2015 Del Skrevet 23. september 2015 (endret) Hei, jeg sitter å ser litt på SQL delen av TIDLIGERE eksamen i databaser. Jeg skjønner ikke alt 100% men prøver meg frem, men står nå litt fast. Her er "databasen" og sql spørringen som kjøres: Jeg har ikke vært borti slike oppgaver før der jeg har spørringen og skal finne resultat, så muig min fremgangsmåte er helt dust. Men det er slik jeg går fram: Først markerer jeg alle iNavn, og kNavn. Ettersom det er en Where setning som vil at alle LKP.lId = l.lId skal være med marker jeg alle lkp.id og l.lid siden alle stemmer overrens. Så kommer andre where statment k.kid and kNavn LIKE '%RAM%' dette mener jeg resulterer i svaret mitt på bilde nedenfor? Hvis alt hittil er rett, tolker jeg siste linje "order by inavn, knavn" slik at dette blir resultatet: deal ddr3 32gb ram mpx ddr3 16 gb ram Men det endelige resultatet er dette(kjørte spørringen for å sjekke): Deal ddr3 32gb ram Deal ddr3 32 gb ram MPX ddr3 16 gb ram Hva er grunnen til at deal kommer opp 2 ganger? hvis jeg har kommet riktig fram til aktive rader skjønner jeg fremgangsmåten... men når det kommer til å lese av resultatet sliter jeg. Noen som kan forklare meg dette :/? Endret 23. september 2015 av bchpls Lenke til kommentar
jonny Skrevet 24. september 2015 Del Skrevet 24. september 2015 Både linje 3 og 4 i LKP-tabellen vil matche, dermed får du 2 like linjer i resultatet. Bruk 'SELECT DISTINCT ...' for å unngå dette. Lenke til kommentar
bchpls Skrevet 24. september 2015 Forfatter Del Skrevet 24. september 2015 Både linje 3 og 4 i LKP-tabellen vil matche, dermed får du 2 like linjer i resultatet. Bruk 'SELECT DISTINCT ...' for å unngå dette. Ja vet distinct unngår dette, men om jeg forstår det rett: siden "deal" har iid l2 og l2 er 2 ganger under lkp med kid k1 er dette grunnen til at deal ddr3.... kommer 2 ganger? Lenke til kommentar
jonny Skrevet 24. september 2015 Del Skrevet 24. september 2015 Ja. Feltene du sjekker i LKP-tabellen er identiske for linje 3 og 4, de vil begge derfor matche det samme. Ved enhver sammenligning i SQL-setningen mellom to felt, vil alle radene i den ene tabellen sjekkes mot alle radene i den andre. 1 Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå