Avatar billede dsjk Novice
16. november 2004 - 14:04 Der er 3 kommentarer og
1 løsning

lægge felt sammen og tælle antal

Hej

Jeg har en overordnet gruppe som hver har x antal blade under sig.
Hver blad udkommer y gange om året.

Jeg bruge nu denne:
TRANSFORM Sum(Omdeling.antal) AS SumOfantal1
SELECT Trykkeri.trykkerinavn, Count(Omdeling.uge) AS AntalUdgivelser, Sum(Omdeling.antal) AS OplagiAlt
FROM Uge LEFT JOIN (Trykkeri RIGHT JOIN (Blad RIGHT JOIN Omdeling ON Blad.bladid = Omdeling.bladid) ON Trykkeri.autoid = Blad.trykkerinr) ON Uge.uge = Omdeling.uge
GROUP BY Trykkeri.trykkerinavn
PIVOT Uge.uge In (1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53);

Hvor jeg får hver enkel trykkeri på hver sin række, men oplagi alt, og fordelt på uger.
Det jeg mangler er et tal på hvor mange blade det enkelte trykkeri har.

Hvordan får jeg dette med?

/dsjk
16. november 2004 - 14:06 #1
Kan du ikke bare lave en ny forespørgsel baseret på denne. Deri kan du jo gruppere og summere.
Avatar billede dsjk Novice
16. november 2004 - 14:08 #2
hmmm, ikke umiddelbart, da den første forespørgsel kun giver en linie pr. trykkeri.
og jeg har derfor ikke en linie pr. blad.
Avatar billede dsjk Novice
16. november 2004 - 14:33 #3
har fundet en løsning, men lader lige spm. stå åben lidt, da det kan være min ikke er helt så god. Men den virker.

Har lavet 2 query's:
1: SELECT Trykkeri.trykkerinavn, Count(Blad.bladid) AS AntalOfbladid
FROM Trykkeri RIGHT JOIN Blad ON Trykkeri.autoid=Blad.trykkerinr
GROUP BY Trykkeri.trykkerinavn;
2: TRANSFORM Sum(Omdeling.antal) AS SumOfantal1
SELECT Trykkeri.trykkerinavn, Sum(Omdeling.antal) AS OplagiAlt
FROM Uge LEFT JOIN (Trykkeri RIGHT JOIN (Blad RIGHT JOIN Omdeling ON Blad.bladid = Omdeling.bladid) ON Trykkeri.autoid = Blad.trykkerinr) ON Uge.uge = Omdeling.uge
GROUP BY Trykkeri.trykkerinavn
PIVOT Uge.uge In (1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53);

og lagt dem sammen i en 3. :
SELECT q_portosamarbejde1.*
FROM q_antalblade INNER JOIN q_portosamarbejde1 ON q_antalblade.trykkerinavn=q_portosamarbejde1.trykkerinavn;

/dsjk
Avatar billede dsjk Novice
16. november 2004 - 14:39 #4
den sidste skal hedde:
SELECT q_portosamarbejde1.*, q_antalblade.AntalOfbladid
FROM q_antalblade INNER JOIN q_portosamarbejde1 ON q_antalblade.trykkerinavn=q_portosamarbejde1.trykkerinavn;
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester