---
title: "räkna ihop tal beroende på olika fältvärden"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/169242-räkna-ihop-tal-beroende-på-olika-fältvärden"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "golgata"
published: "2008-02-21T13:49:07.000Z"
updated: "2008-02-22T08:38:37.000Z"
replies: 20
views: 1194
page: 1
pages: 2
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/asp/169242-räkna-ihop-tal-beroende-på-olika-fältvärden"
---

# räkna ihop tal beroende på olika fältvärden

_Sida 1 av 2._

## #1 — golgata, 2008-02-21T13:49Z

Jag behöver en matematisk funktion för att räkna ut följande. 

Hämta allt som har samma Id.
Plocka ut alla som har samma ÄmnesId och samma NivåId
Allt det som plockas ut ska Värdet summeras för att på ihop en totalsumma.

ex. plockar ut Id 703 med ÄmnesId 1 och Nivå 3
så blir det rad 2 och 4  = 2+1 = Totalsumma 3

Varje totalsumma ska presenteras för varje Ämne. Hur gör man detta?

Det kommer att kunna vara massor med olika kombinationer. 
Antal Ämnen c:a 20 st
Antal NivåId =  3 st.

Kolumn 1 = Id
Kolumn 2 = ÄmnesId
Kolumn 3 = NivåId
Kolumn 4 = Värde

703 2  1 3
703 1  3 2
703 1  2 3
703 1  3 1 
702 1  3 3
704 1  3 3 
704 1  2 3

Permalänk: https://www.webforum.nu/p/169242

## #2 — daniel_ra, 2008-02-21T13:57Z

någonting såhär kanske?

```
select sum(värde) as totaltvärde from tabell group by id,ämnesid,nivåid
```

Permalänk: https://www.webforum.nu/p/2084240

## #3 — voigtann1, 2008-02-21T13:59Z

```
SELECT Sum(Värde) as TotalSum FROM <tabellen> Where Id = 703 And ÄmnesId = 1 And NivåId = 3
```

Men om du vill loopa ut det så hade jag nog kollat på Group By i SQL forumet. Eller är det en ren ASP lösning du söker efter?

Permalänk: https://www.webforum.nu/p/2084241

## #4 — golgata, 2008-02-21T14:03Z

> **voigtann1 skrev:**
>
> ```
> SELECT Sum(Värde) as TotalSum FROM <tabellen> Where Id = 703 And ÄmnesId = 1 And NivåId = 3
> ```
>
> Men om du vill loopa ut det så hade jag nog kollat på Group By i SQL forumet. Eller är det en ren ASP lösning du söker efter?

Jag vill loopa ut det så jag kollar där.

Permalänk: https://www.webforum.nu/p/2084242

## #5 — voigtann1, 2008-02-21T14:06Z

Testa daniel_ra exempel...

```
select sum(värde) as totaltvärde[b], ämnesId, NivåId[/b] from tabell group by id,ämnesid,nivåid
```

om du vill få lite data "du känner till" ;)

Permalänk: https://www.webforum.nu/p/2084244

## #6 — aasah, 2008-02-21T14:06Z

> **daniel_ra skrev:**
>
> någonting såhär kanske?
>
>
> ```
> select sum(värde) as totaltvärde from tabell group by id,ämnesid,nivåid
> ```

Det där borde ge Syntaxfel... Ändra till:

```
select id, ämnesid, nivåid, sum(värde) as totaltvärde 
from tabell 
group by id, ämnesid, nivåid
```

Kolumnerna i group by måste ut i select-delen.

Permalänk: https://www.webforum.nu/p/2084245

## #7 — golgata, 2008-02-21T14:27Z

är trött efter en dags programmerande men jag får det inte att fungera.

```
 
SQL ="select id, amnesid, niva, sum(niva) as totaltvarde from tabell group by id, amnesid, niva"
Set Rs5 = Connect.Execute(SQL)
```

Permalänk: https://www.webforum.nu/p/2084256

## #8 — daniel_ra, 2008-02-21T14:28Z

tvärt om , kolumnerna i selectsatsen måste vara med i goup by satsen

Permalänk: https://www.webforum.nu/p/2084257

## #9 — voigtann1, 2008-02-21T14:29Z

Får du något SQL fel? eller blir ditt Rs5 tomt? Vad "fungera inte"? Får du ASP fel? isåfall vad?

Permalänk: https://www.webforum.nu/p/2084258

## #10 — golgata, 2008-02-21T14:30Z

får följande flemeddelande när jag skriver ut det.
\<%= rs5("totalvarde")%\>

ADODB.Recordset error '800a0cc1' 

Item cannot be found in the collection corresponding to the requested name or ordinal.

Permalänk: https://www.webforum.nu/p/2084260

## #11 — daniel_ra, 2008-02-21T14:31Z

jag antar att din tabell inte heter "tabell" utan någonting annat

Permalänk: https://www.webforum.nu/p/2084261

## #12 — aasah, 2008-02-21T14:32Z

> **golgata skrev:**
>
> är trött efter en dags programmerande men jag får det inte att fungera.
>
> ```
>  
> SQL ="select id, amnesid, niva, sum(niva) as totaltvarde from tabell group by id, amnesid, niva"
> Set Rs5 = Connect.Execute(SQL)
> ```

Var det inte ett **värde** du skulle summera? Alltså inte **nivån**? Det gör du nu...

Och om det är avsikten så funkar inte frågan. Eftersom du grupperar på bl.a. nivå kommer sum(nivå) att alltid vara lika med nivå. (Den har ju bara ett värde per nivå....)

Permalänk: https://www.webforum.nu/p/2084262

## #13 — golgata, 2008-02-21T14:33Z

Ja det heter något annat. 
Så här ser hela min kod ut.
Öppnar databasen

```
<%SQL ="select id, amnesid, niva, sum(Varde) as totaltvarde from svar group by id, amnesid, niva"
Set Rs5 = Connect.Execute(SQL)
%>
<%= rs5("totalvarde")%>
```

Permalänk: https://www.webforum.nu/p/2084263

## #14 — aasah, 2008-02-21T14:34Z

Har du stavat alla tabeller och kolumner rätt?

Permalänk: https://www.webforum.nu/p/2084266

## #15 — golgata, 2008-02-21T17:15Z

stod totaltvärde i SQL satsen och totalvärde i rs5

Nu räknar den ihop och skriver ut för varje kombination.
Men den skriver ut för samtliga Id som finns. 
Nu vill jag visa bara för t.ex Id 703 om det värdet är i Request.Querystring("Id")

Vad ska jag då ändra?

Permalänk: https://www.webforum.nu/p/2084288

## #16 — voigtann1, 2008-02-21T17:37Z

```
"select id, amnesid, niva, sum(Varde) as totaltvarde from svar group by id, amnesid, niva Where id = " & CInt(Request.QueryString("Id"))
```

Permalänk: https://www.webforum.nu/p/2084291

## #17 — golgata, 2008-02-21T17:43Z

då blir det följande fel

Microsoft OLE DB Provider for ODBC Drivers error '80040e14'

\[MySQL\]\[ODBC 3.51 Driver\]\[mysqld-5.0.45-log\]You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'Where id = 703' at line 1

Permalänk: https://www.webforum.nu/p/2084292

## #18 — Peter S, 2008-02-21T18:15Z

```
"select id, amnesid, niva, sum(Varde) as totaltvarde from svar Where id = " & CInt(Request.QueryString("Id")) & " group by id, amnesid, niva"
```

Permalänk: https://www.webforum.nu/p/2084296

## #19 — golgata, 2008-02-21T18:53Z

tack

Permalänk: https://www.webforum.nu/p/2084298

## #20 — aasah, 2008-02-22T06:54Z

Golgata - Markera **det svar som löste problemet** \- inte ditt lilla "tack"!

Permalänk: https://www.webforum.nu/p/2084341

---

Tråden på webben: https://www.webforum.nu/amne/asp/169242-räkna-ihop-tal-beroende-på-olika-fältvärden  
Nästa sida: https://www.webforum.nu/amne/asp/169242-räkna-ihop-tal-beroende-på-olika-fältvärden/page2.md
