Tommy- Skrevet 17. mars 2011 Del Skrevet 17. mars 2011 Hei! Får opp dobbel data, hva gjør jeg feil? SELECT rombestilling.idbestilling, rombestilling.dato, rombestilling.varighet, rombestilling.kundeid, rombestilling.hotellid, kunde.etternavn, hotell.navn FROM rombestilling, kunde, hotell WHERE rombestilling.kundeid = rombestilling.hotellid Lenke til kommentar
Nickless Skrevet 17. mars 2011 Del Skrevet 17. mars 2011 Hmm, ser ikke hva som er galt med spørringen Hjelper ikke å bare hive inn: SELECT DISTINCT? Lenke til kommentar
Tommy- Skrevet 17. mars 2011 Forfatter Del Skrevet 17. mars 2011 Nei, noen som vet? Lenke til kommentar
Thomas. Skrevet 18. mars 2011 Del Skrevet 18. mars 2011 Kjører du spørringen, eventuelt henter ut data i en form for loop som kjører 2 ganger? Lenke til kommentar
FBI21 Skrevet 18. mars 2011 Del Skrevet 18. mars 2011 Aner ikke feilen, men har opplevd samme selv. En i IT klassen klarte å få firedobbelt også. Lenke til kommentar
Wolverin Skrevet 18. mars 2011 Del Skrevet 18. mars 2011 Hei. du har valgt å hente fra 3 tabeller: FROM rombestilling, kunde, hotell Men du angir kriterier for å koble tabell dataene sammen på bare 1 av de 3 tabellene. WHERE rombestilling.kundeid = rombestilling.hotellid Dersom du skal få ut en og bare en forekomst, så må du også angi hvordan tabellene "kunde" og "hotell" matcher "romtbestilling". F.eks: where rombestilling.kundeid = kunde.kundeid and rombestilling.hotellid = hotell.hotellid På denne måten får du koblet alle tabellene sammen, og du vil ha kontroll på hva som kommer ut av tabellene dine. Hadde du hatt 2000 poster i rombestilling og 2000 poster i kunde, så ville din måte å spørre på gitt betydelig mye mer enn de doble postene du fikk ut :-) lykke til! Lenke til kommentar
Crowly Skrevet 23. mars 2011 Del Skrevet 23. mars 2011 Å koble tabeller i WHERE er en gammel måte å koble tabeller på, men det fungerer. Ta en titt på joins, vil også anbefale alias på tabellene så blir det ikke så mye å skrive F. eks slik (med alias og joins) SELECT r.idbestilling, r.dato, r.varighet, r.kundeid, r.hotellid, k.etternavn, h.navn FROM rombestilling AS r INNER JOIN kunde AS k ON k.kundeid = r.kundeid INNER JOIN hotell AS h ON h.hotellid = r.hotellid 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å