Gå til innhold

Sliter med en sql query - Sum og join


Anbefalte innlegg

Jeg ønsker å få ut bonus i en gitt periode men jeg klarer ikke å få det til. Her er koden jeg bruker nå og den gir meg ansattnummer, navn og bonus så langt dette år. Men nå ønsker jeg ett nytt felt som viser bonus denne mnd.

 

Select  an.ansattnummer, an.navn, sum(tr.beløp) as bonus from (Ansatt as AN INNER JOIN Trans as TR on AN.Ansattnummer=TR.Ansatt_nr) group by an.ansattnummer, an.navn

 

Query jeg ønsker å legge til:

select sum(tr.Beløp) where tr.periode = 9

 

Er det noen lyse hoder der ute som kan hjelpe meg i rett retning så blir jeg svært takknemlig.

Endret av FuBaR
Lenke til kommentar
Videoannonse
Annonse

Takk for svar Wabby, men det gikk ikke. Jeg ønsker følgende output:

Ansattnr | Navn | Bonus hitil i år | Bonus denne mnd 
1	   | Per  | 20.000		   | 2.000
2	   | Ola  | 15.000		   | 1.200

 

Legger jeg inn "Denne mnd" (select sum(tr.Beløp) where tr.periode = 9) som en sub-query får jeg følgende resultat:

Ansattnr | Navn | Bonus hitil i år | Bonus denne mnd 
1	   | Per  | 20.000		   | 3.200
2	   | Ola  | 15.000		   | 3.200

 

:(

Lenke til kommentar

Tror du må knytte sammen ansatt nr i sub selecten og "hoved" selecten, så det blir noe i nærheten av dette (er ikke veldig stødig med joins, og mulig at dette er helt på feil jorde ;))

Edit: Tanken er i alle fall at sum i sub select må begrenses til kun gjeldende ansatt i forhold til "hoved" selecten.

 

Utestet

SELECT an.ansattnummer, an.navn, sum(tr.beløp) as bonus, (select sum(t.Beløp) from trans t where t.periode = 9 and t.ansatt_nr = an.ansattnummer) mnd_bonus
FROM (Ansatt AS an INNER JOIN Trans AS tr on an.Ansattnummer=tr.Ansatt_nr)
GROUP BY an.ansattnummer, an.navn

Endret av Crowly
Lenke til kommentar

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 konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...