---
title: "Summera vikt på varor i kundvagn"
type: "forum-thread"
url: "https://www.webforum.nu/amne/databaser-sql/147903-summera-vikt-på-varor-i-kundvagn"
topic: "Databaser & SQL"
topic_url: "https://www.webforum.nu/amne/databaser-sql"
author: "MickeA.com"
published: "2006-06-10T11:02:21.000Z"
updated: "2006-06-11T22:07:19.000Z"
replies: 2
views: 369
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/147903-summera-vikt-på-varor-i-kundvagn"
---

# Summera vikt på varor i kundvagn

## #1 — MickeA.com, 2006-06-10T11:02Z

Tjena!
Jag håller på med en webbshop där kostnaden för frakt kommer vara olika beroende på vad man köpt.
Min tabelldesign ser ut såhär:

```
[b]tbl_shopProd[/b] (Produkter i shoppen)
prodId, räknare
prodName, text
.....
prodWeight, tal

[b]tbl_shopOrderHead[/b] (Orderhuvud)
orderId, räknare
custNum, tal

[b]tbl_shopOrderRow[/b] (Orderrad)
rowId, räknare
orderId, tal
prodId, tal
```

Dom tre tabellerna måste jag använda mig av för att få fram ett resultat.
Nu vill jag alltså summera vikten från *tbl_shopProd* där idnumret finns i *tbl_shopOrderRow* och där *orderId* är tex. '1'.

Har funderat lite fram och tillbaks på det här, men jag vet inte om det kanske finns lättare sätt?
Säg till om jag förklarat konstigt, eller om jag ska visa mer kod.
DBMS är Access och jag använder ASP.

Tack på förhand!

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

## #2 — MickeA.com, 2006-06-10T13:42Z

Nu har jag löst det.
Det finns kanske bättre sätt än mitt, så kom gärna med förslag om det är något jag bör ändra.
Såhär gjorde jag:

```
Function sumWeight(chartId)
	If isNumeric(chartId) Then
		sSql =	"SELECT t1.orderId AS master_id, orderSession, t2.orderId AS slave_id, prodId " &_
			"FROM tbl_shopOrderHead t1 INNER JOIN tbl_shopOrderRow t2 " &_
			"ON t1.orderId = t2.orderId " &_
			"WHERE orderSession = " & chartId & " " &_
			"ORDER BY prodId ASC"
'		Response.Write(sSql) : Response.End
		Set rsTmp = oConn.Execute(sSql)
		If Not rsTmp.EOF Then
			tmpStr = 0
			While Not rsTmp.EOF
				tmpStr = rsTmp("prodId")
				resStr = tmpStr & "," & resStr
			rsTmp.MoveNext
			Wend
		End If
		Set rsTmp = Nothing
		weightStr = Left(resStr, Len(resStr) - 1)
		sSql =	"SELECT SUM(prodWeight) " &_
			"FROM tbl_shopProd " &_
			"WHERE prodId IN(" & weightStr & ")"
'		Response.Write(sSql) : Response.End
		Set rsTmp = oConn.Execute(sSql)
		If Not rsTmp.EOF Then resStr = rsTmp(0) Else resStr = "Feeel" End If
		Set rsTmp = Nothing
		sumWeight = resStr
	Else
		sumWeight = "Ett fel uppstod vid beräkning..."
	End If
End Function
```

Funkar fint ;)

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

## #3 — emission, 2006-06-11T22:07Z

```
strSQL = "SELECT SUM(p.prodWeight) FROM tbl_shopProd p, tbl_shopOrderHead h, tbl_shopOrderRow r WHERE p.prodId=r.prodId AND r.orderId=p.orderId AND orderSession= " & chartId
```

chartId?

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

---

Tråden på webben: https://www.webforum.nu/amne/databaser-sql/147903-summera-vikt-på-varor-i-kundvagn
