så i mit udtræk vil jeg have så hvis jeg i WHERE-sætningen skriver afdeling = 45 and afdeling = 46 and dato >1/6-2008 så skulle den tage 8+6/2 = 7 og 10 20/2 = 15 og så regne summen ud 7+15=22 så forespørgssel skulle kun komme ud med 22.
Teknologi, AI og forretning er i centrum på Computerworlds Cloud og AI Festival i København d. 18. og 19. september. Se hele programmet for den store konference om strategisk brug af Cloud og AI på: www.cloud-festival.dk
SELECT Sum(AvgOfvaerdi) AS SumOfAvgOfvaerdi FROM (SELECT tabel.afdeling, Avg(tabel.vaerdi) AS AvgOfvaerdi FROM tabel WHERE (((tabel.dato)>#6/1/2008#)) GROUP BY tabel.afdeling) WHERE afdeling IN(45, 46);
Bortset fra, at du ikke vill få nogen rækker valgt ved at kræve både afdeling = 45 og afdeling = 46 opfyldt på samme tid, så burde det kunne ske via en SQL som denne: :-)
SELECT afdeling, AVG(værdi) AS gennemsnit, (SELECT AVG(værdi) FROM dinTabel WHERE (afdeling = 45 or afdeling = 46) and dato > #1-6-2008#) AS TotaltGennemsnit FROM dinTabel WHERE (afdeling = 45 or afdeling = 46) and dato > #1-6-2008# GROUP BY afdeling
Du kommer vist desværre ikke uden om at specificere WHERE kriteriet i begge forespørgsler.
Men måske har jeg lagt for meget i spørgsmålet. Ved endnu en nærlæsning, kan det også betyde, at du bare ønsker din sum af afdelingsgennemsnittene returneret. Så er det bare med at skrive:
SELECT AVG(værdi) AS TotalGennemsnit FROM dinTabel WHERE (afdeling = 45 or afdeling = 46) and dato > #1-6-2008#
(summen af gennemsnittet pr. afdeling = gennemsnittet for alle valgte rækker)
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.