---
title: "summera formel i sql fråga?"
type: "forum-thread"
url: "https://www.webforum.nu/amne/databaser-sql/186080-summera-formel-i-sql-fråga"
topic: "Databaser & SQL"
topic_url: "https://www.webforum.nu/amne/databaser-sql"
author: "evilaid"
published: "2011-02-15T08:51:28.000Z"
updated: "2011-02-21T15:22:31.000Z"
replies: 4
views: 1901
page: 1
pages: 1
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/databaser-sql/186080-summera-formel-i-sql-fråga"
---

# summera formel i sql fråga?

## #1 — evilaid, 2011-02-15T08:51Z

Hej

Jag vet att det ska gå men får inte till det riktgit. Det är så att jag vill räkna ihop vissa kolumner i ett fält och sumera resultatet av alla rader..

Frågan ser ut så här:
SQL = "SELECT sum() as ant FROM tbl_transportSizes AS ts LEFT OUTER JOIN tbl_transport AS t ON ts.transportID = t.id where week='"&request.QueryString("week")&"' "

dom klumner jag vill räkna ihop för varje fält är enligt: 
Round((((db("length")/100)\*(db("width")/100))/2.4),2)

försökte med detta:
SELECT sum(Round((((length/100)\*(width/100))/2.4),2) 
) as ant FROM tbl_transportSizes AS ts LEFT OUTER JOIN tbl_transport AS t ON ts.transportID = t.id where week='1110'

Får bara felet Ambiguous column name 'width'.

Mvh

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

## #2 — @nders, 2011-02-15T08:54Z

> Får bara felet Ambiguous column name 'width'.

Då beror det på att fältet width finns i mer än en tabell i din SQL-fråga. Kvalificera fältet med tabellens namn.

```
... tbl_transportSizes.width ...
```

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

## #3 — evilaid, 2011-02-15T09:00Z

ok. hittade lite fel

så här ska det vara
SELECT sum(Round((((ts.length/100)\*(tw.width/100))/2.4),2)
) as ant FROM tbl_transportSizes AS ts LEFT OUTER JOIN tbl_transport AS t ON ts.transportID = t.id LEFT OUTER JOIN tbl_transportWidth AS tw ON ts.width = tw.id  where week='1110'

men det rapporterar bara tillbaka 0,0000000 i ant, raderna hämtas ju korrekt om jag tar bort sumeringsdelen i frågan men vid sumering blir detbara 0 ?
ok att jag har kolumnen width i fler tabeller men nu har jag ju i sumeringfunktionen definiera det som tw.width , något annat som kan spöka?

Här hittade jag felet
sum(Round((tw.width/100),2)) as antal 

frågan hämtar två rader, värdet för dom två raderna i tw.width är 80 och 60.. men hur kan det bli 0?
Dividerar jag med 10 istället för 100 så får jag svaret 14 med dividerar jag med 100 så blir 0 men borde ju bli 1,4??
formeln fungerar ju när jag kör den som ren asp kod men i SQL frågan blir det 0 ?

går detanvända något annat än round? felet verkar ju ligga där då det blir noll hela tiden

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

## #4 — adde2, 2011-02-20T05:19Z

Känns som att du blandar heltal och decimaltal, då blir det noll.
Testa

```
sum(Round((((length/100.0)*(width/100.0))/2.4),2.0)
```

om length och width också är heltal så kan du behöva göra om de till decimaltal

```
sum(Round((((cast(length as decimal)/100.0)*(cast(width as decimal)/100.0))/2.4),2.0)
```

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

## #5 — evilaid, 2011-02-21T15:22Z

ok, det där låter troligt faktsikt, ska prova det ikväll...

tack på förhand..

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

---

Tråden på webben: https://www.webforum.nu/amne/databaser-sql/186080-summera-formel-i-sql-fråga
