Avatar billede al_pacone Nybegynder
03. december 2006 - 18:22 Der er 3 kommentarer

Problemer med sum i sammenkædede tabeller.

Hvordan laver jeg en forspørgsel med summen fra flere sammenkædede tabeller.

Jeg har to tabeller der ser ud som følgende.

tbl1
1_no    1_Antal    1_Minutter
1    1000    100
2    2000    100
3    1000    100   

tbl2
2_No    1_No    2_Antal    2_Minutter
1    1    200    100
2    1    200    100
3    2    200    100
4    2    200    100
5    3    200    100
6    3    200    100

Der er en ralation imellem tbl1.1_No og tbl2.1_No


Kan man lave en forspørgsel der returnere følgende værdier hvor 1_No = 1 eller 1_No = 3

1_Antal    1_Minutter    2_Antal    2_Minutter
2000    200    800    400   



Jeg har prøvet med følgende som ikke helt returnerer de værdier jeg ønsker.

SELECT Sum(tbl1.[1_Antal]) AS SumOf1_Antal, Sum(tbl1.[1_Minutter]) AS SumOf1_Minutter, Sum(tbl2.[2_Antal]) AS SumOf2_Antal, Sum(tbl2.[2_Minutter]) AS SumOf2_Minutter
FROM tbl1 INNER JOIN tbl2 ON tbl1.[1_No] = tbl2.[1_No]
GROUP BY tbl1.[1_No]
HAVING (((tbl1.[1_No])=1 Or (tbl1.[1_No])=3));
Avatar billede al_pacone Nybegynder
03. december 2006 - 19:59 #1
Databasen kan downloades her.

http://peecee.dk/?id=15033
Avatar billede Slettet bruger
03. december 2006 - 22:42 #2
Forespørgsel1:

SELECT tbl1.[1_Antal], tbl1.[1_Minutter], Sum(tbl2.[2_Antal]) AS SumOf2_Antal, Sum(tbl2.[2_Minutter]) AS SumOf2_Minutter
FROM tbl1 INNER JOIN tbl2 ON tbl1.[1_No] = tbl2.[1_No]
GROUP BY tbl1.[1_Antal], tbl1.[1_Minutter], tbl1.[1_No]
HAVING (((tbl1.[1_No])=1 Or (tbl1.[1_No])=3));

Forespørgsel2:

SELECT Sum(Forespørgsel1.[1_Antal]) AS Antal1, Sum(Forespørgsel1.[1_Minutter]) AS Minutter1, Sum(Forespørgsel1.SumOf2_Antal) AS Antal2, Sum(Forespørgsel1.SumOf2_Minutter) AS Minutter2
FROM Forespørgsel1;

!~)
Avatar billede Slettet bruger
16. januar 2007 - 10:51 #3
Hvordan gik det....
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