MuLtiPoWa Skrevet 3. mai 2006 Skrevet 3. mai 2006 Hallo, sliter litt med å få til en spørring her... Tabellene er: POST(PostNr, PostSted) KUNDE(KundeNr, Etternavn, Fornavn, GateAddresse, PostNr) ORDRE(OrdreNr, KundeNr, Dato) ORDRELINJE(OrdreNr, VareNr, Antall) VARE(VareNr, Beskrivelse, LagerAntall) og oppgaven er: Finner etternavn og varebeskrivelse til alle kunder som har bestilt varer som begynner på "St" Det jeg har kommet fram til er.. Select K.Etternavn, V.Beskrivelse From Ordre O, Kunde K, Vare V, Ordrelinje OL where O.KundeNR=K.KundeNR AND OL.VareNR=K.VareNR AND V.Beskrivelse=?+ Her stopper det for meg... Finner ikke funksjonen som leter etter ting som starter opp med ST... Kan noen hjelpe meg her? (Er ikke veldig stø i SQL, men prøver.)
Ueland Skrevet 3. mai 2006 Skrevet 3. mai 2006 AND V.Beskrivelse='St%' Sånt Da henter du ut alt som har V.Beskrivelse=ST(alt som starter på det)
MuLtiPoWa Skrevet 3. mai 2006 Forfatter Skrevet 3. mai 2006 ahh, takk skal du ha... Var faktisk inne på den tanken, men syns det virket for lett... Takker og bukker..
MuLtiPoWa Skrevet 3. mai 2006 Forfatter Skrevet 3. mai 2006 Okay, ut ifra den samme tabellen skal jeg finner etternavn, gateadresse, postnr, poststed for alle kunder som har mer enn 5 ordre. Da har jeg fått dette: SELECT O.Etternavn, O.Gateaddresse, O.PostnNr, O.Poststed FROM Ordre O, Kunde K WHERE O.KundeNr = K.KundeNr AND Ordre COUNT >5 Vil ikke dette bli riktig? Takk for svar.
roac Skrevet 3. mai 2006 Skrevet 3. mai 2006 AND V.Beskrivelse='St%' 6038104[/snapback] Eller bedre: AND V.Beskrivelse LIKE 'St%' I denne sammenheng siterer jeg SQL99 standarden: <like predicate> uses the triadic operator LIKE (or the inverse, NOT LIKE), operating on threecharacter strings and returning a Boolean. LIKE determines whether or not a character string ‘‘matches’’ a given ‘‘pattern’’ (also a character string). The characters <percent> and <underscore> have special meaning when they occur in the pattern.
roac Skrevet 3. mai 2006 Skrevet 3. mai 2006 Okay, ut ifra den samme tabellen skal jeg finner etternavn, gateadresse, postnr, poststed for alle kunder som har mer enn 5ordre. Da har jeg fått dette: SELECT O.Etternavn, O.Gateaddresse, O.PostnNr, O.Poststed FROM Ordre O, Kunde K WHERE O.KundeNr = K.KundeNr AND Ordre COUNT >5 Vil ikke dette bli riktig? Takk for svar. 6038229[/snapback] Som regel skal du gjøre noe med dataene slik at det ikke gjør noe om du får med en ekstra kolonne, da kan du bruke noe i retning av dette: SELECT K.Etternavn, K.Gateaddresse, K.PostNr, K.Poststed, count(O.OrdreNo) as 'Antall' FROM Ordre O inner join Kunde K on (O.KundeNr = K.KundeNr) HAVING count(o.OrdreNo) > 5
Deelay Skrevet 3. mai 2006 Skrevet 3. mai 2006 Er du i rute til å levere til fredagen da? Hehe, har også rel.databaser i år se....
MuLtiPoWa Skrevet 4. mai 2006 Forfatter Skrevet 4. mai 2006 Alt er klart til fredag ja.. Bare sql setningene som er utsatt litt.
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å