Hola Skrevet 9. november 2008 Del Skrevet 9. november 2008 (endret) Hei. Har en oppgave hvor jeg må utføre noen SQL-spørringer. Har prøvd en hel del å finne ut av det men plages. Oppgaven ser slik ut: AVDELING ( avdnr, avdnavn, ledernr) ANSATT ( ansnr, navn, stilling, avdnr) EIENDOM ( enr, adresse, leie, ansnr) MEGLERGRUPPE ( smegnr, megnr) hvor primernøkkler er understreket og fremmednøkkler er i kursiv. de ulike lernr, avdnr osv. henviser til ansnr i ANSATT. Spørsmålet er som følger: Lag en SQL-spørring som finner alle avdelinger og navnet på lederen i avdelingen. La resultatet være sortert på avdelingsnavn, og la kolonnen som viser lederen ha som overskrift "LEDER". Lag et view antall_i_avdeling (avdnr, avdnavn, antall) som viser hvor mange ansatte det er i hver avdeling. Setter enorm pris på om noen som vet hvordan dette løses kunne ha vært så snill å dele litt kunnskaper med meg:) Endret 9. november 2008 av Hola Lenke til kommentar
kaffenils Skrevet 10. november 2008 Del Skrevet 10. november 2008 Skoleoppgave? Jeg hjelper deg gjerne, men jeg gjør deg en bjørnetjeneste hvis jeg bare gir deg svaret. Da lærer du ingenting. For å gi deg et hint: Begge spørringene involverer en INNEr JOIN (evt. LEFT JOIN hvis en avdeling kan være uten ansatte eller leder). I tillegg vil spørring nr 2 (viewet) involvere en COUNT og GROUP BY. Se om du får gjort noe basert på denne informasjonen. Lenke til kommentar
Hola Skrevet 10. november 2008 Forfatter Del Skrevet 10. november 2008 Kom fram til dette: SELECT avdnr, avdnavn ’Avdelingsnavn’, ansnr, stilling ’Leder’ FROM avdeling, ansatt WHERE ansnr= Leder AND avdnr = ansnr ORDER by avdeling.avdnavn; og SELECT ansnr, navn, avdnavn FROM ansatt, avdeling WHERE ansatt.avdnr = avdeling.avdnr UNION SELECT ansnr, navn, avdnavn FROM ansatt, avdeling WHERE ansatt.avdnr = avdeling.avdnr; Er jeg helt på bærtur eller? Lenke til kommentar
kaffenils Skrevet 10. november 2008 Del Skrevet 10. november 2008 Den første er nesten riktig. Du skulle ha med avdeligsinfo (sier ikke hvilke kolonner) og navn på leder. Kolonnen med ledernavnet skulle være LEDER. I din spørring har du ikke med leder. Jeg ville dessuten brukt INNER JOIN syntaxen for å koble sammen de to tabellene. Den andre spørringen er ikke i nærheten engang . Hvorfor har du en UNION og hvor er antallet? Husk hintet jeg ga deg med GROUP BY og COUNT. Lenke til kommentar
Hola Skrevet 10. november 2008 Forfatter Del Skrevet 10. november 2008 Skal se litt på den første jeg Disse setningene ble laget før jeg fikk svar hos deg skjønner du. Derfor jeg er på bærtur med den siste :!: Men skal snart levere inn, så får det gå som det går. Det er jo i tillegg en rekke andre oppgaver, men det har gått bra Lenke til kommentar
kaffenils Skrevet 10. november 2008 Del Skrevet 10. november 2008 Når er innleveringsfristen da? Lenke til kommentar
Hola Skrevet 10. november 2008 Forfatter Del Skrevet 10. november 2008 Leveringsfristen er klokken 2. Lenke til kommentar
kaffenils Skrevet 10. november 2008 Del Skrevet 10. november 2008 Da har vi jo mer enn nok tid, med mindre du har andre ting du skal gjøre. Har du skrevet om spørring nr 1 slik jeg sa? Lenke til kommentar
Hola Skrevet 10. november 2008 Forfatter Del Skrevet 10. november 2008 Ser på spørring 1 nå Lenke til kommentar
Hola Skrevet 10. november 2008 Forfatter Del Skrevet 10. november 2008 SELECT avdnr, avdnavn ’Avdelingsnavn’, ansnr, stilling ’Leder’ FROM avdeling, ansatt WHERE stilling= Leder AND avdnr = ansnr ORDER by avdeling.avdnavn; Dette var det jeg kom fram til Lenke til kommentar
Hola Skrevet 10. november 2008 Forfatter Del Skrevet 10. november 2008 SELECT COUNT(avdnr, avdnavn) FROM avdeling GROUP BY avdnr; Her er spørring 2. Lenke til kommentar
kaffenils Skrevet 10. november 2008 Del Skrevet 10. november 2008 Det var så nært at jeg skal gi deg svaret, siden fristen nærmer seg. SELECT avdeling.avdnr, avdeling.avdnavn, count(ansatt.ansnr) as antall. FROM avdeling inner join ansatt on ansatt.avdnr=avdeling.avdnr GROUP BY avdeling.avdnr, avdeling.avdnavn; Og så må du huske at det skal opprettes et view. Lenke til kommentar
Hola Skrevet 10. november 2008 Forfatter Del Skrevet 10. november 2008 Takk så mye. Var spørring 1 korrekt nå? Lenke til kommentar
Hola Skrevet 10. november 2008 Forfatter Del Skrevet 10. november 2008 Da var oppgaven levert! Takk så mye for hjelpen kaffenils! Er ganske dårlig på SQL spørringer så skal trene endel på det framover 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å