Avatar billede svinget Praktikant
01. januar 2007 - 21:04 Der er 13 kommentarer og
2 løsninger

Sum af en kolonne ud fra en bestemt værdi

Hej
Hvordan kan jeg beregne en sum i en kolonne A, men kun af de tal hvor hvor Kolonne B = Værdi1

Jeg har prøvet at lave en sum forespørgsel, men den tager alle tallene. Jeg kan ikke få sat begrænsningen på.

Hilsen

Kim
Avatar billede hmortensen Nybegynder
01. januar 2007 - 21:10 #1
Hvad hvis du sætter en "GROUP BY KolB" på?
Avatar billede svinget Praktikant
01. januar 2007 - 21:54 #2
Nej, det virker ikke.

Det er fordi jeg har følgende:
Tabel
kolonne 1 - Kolonne 2
300      - værdi1
500      - værdi2
600      - værdi1
500      - værdi1

Forespørgslen skal se såden ud:
Kolonne A(sum værdi1) - Kolonne A(sum værdi2)
1400                  - 500
Avatar billede terry Ekspert
02. januar 2007 - 10:03 #3
I think you will need to make a sub select

SELECT *, (SELECT sum(SomeField) from tableA WHERE [Kolonne B] = Værdi1) AS SumOfVærdi1
FROM tableA
Avatar billede svinget Praktikant
02. januar 2007 - 12:06 #4
You mean use SQL?
Avatar billede terry Ekspert
02. januar 2007 - 12:15 #5
Yes.
Avatar billede svinget Praktikant
02. januar 2007 - 15:21 #6
I just changed the code to match table names and values, but it is asking for value1 in a pop up box when i try to save the SQL:

SELECT *, (SELECT sum(kolonne1) from table1 WHERE [Kolonne2] = value1) AS SumOfvalue1
FROM table1

Table1
kolonne1 - Kolonne2
300      - value1
500      - value2
600      - value1
500      - value1

/Kim
Avatar billede terry Ekspert
02. januar 2007 - 17:03 #7
Is value1 actually the data in the field Kolonne2?
If it is then try
SELECT *, (SELECT sum(kolonne1) from table1 WHERE [Kolonne2] = 'value1') AS SumOfvalue1
FROM table1
Avatar billede svinget Praktikant
03. januar 2007 - 08:02 #8
That's better :)

Now it's shown in this way:

SumOfvalue1    kolonne1          kolonne2
1500              300              value1
1500              500              value1
1500              600              value2
1500              700              value1
1500              800              value2
1500              800              value3

Is it possible to only have one line with totals, and then for all three values?

SumOfvalue1      SumOfvalue2      SumOfvalue3
1500              600                800
Avatar billede Slettet bruger
03. januar 2007 - 11:51 #9
SELECT (SELECT sum(kolonne1) from table1 WHERE [Kolonne2] = 'value1') AS SumOfvalue1, (SELECT sum(kolonne1) from table1 WHERE [Kolonne2] = 'value2') AS SumOfvalue2, (SELECT sum(kolonne1) from table1 WHERE [Kolonne2] = 'value3') AS SumOfvalue3
FROM table1
Avatar billede svinget Praktikant
03. januar 2007 - 14:00 #10
Yes - now it looks right :)

I do have a lot of records. Is it possible just to genereate one record?

SumOfvalue1    SumOfvalue2    SumOfvalue3
1500            1400            800
1500            1400            800
1500            1400            800
1500            1400            800
1500            1400            800
1500            1400            800


I have tried to change the query to show totals/sum, but that gives me a wrong result.

It's not a big problem though - I can just select the first record when I make the call to the database
Avatar billede Slettet bruger
03. januar 2007 - 14:05 #11
SELECT DISTINCT (SELECT sum(kolonne1) from table1 WHERE [Kolonne2] = 'value1') AS SumOfvalue1, (SELECT sum(kolonne1) from table1 WHERE [Kolonne2] = 'value2') AS SumOfvalue2, (SELECT sum(kolonne1) from table1 WHERE [Kolonne2] = 'value3') AS SumOfvalue3
FROM table1

Hvis der er point i sigte, så er terry vist i førertrøjen!~)
Avatar billede svinget Praktikant
03. januar 2007 - 14:14 #12
Det funker bare.

Both of you - thanks a lot for your time :)

Terry: please post an answer

I split the points, with a advantage to Terry - OK?
Avatar billede terry Ekspert
03. januar 2007 - 14:19 #13
sorry, I've been busy
Avatar billede terry Ekspert
03. januar 2007 - 20:44 #14
thanks and a Happy New Year to you both
Avatar billede Slettet bruger
05. januar 2007 - 07:51 #15
Right back at you!~)
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