SELECT P.prod_id, P.prod_price, S.carti_quantity, P.prod_price*S.carti_quantity AS total_price
FROM shoppingcartitems S INNER JOIN shoppingcart ON S.carti_cart_id = shoppingcart.cart_id INNER JOIN
products P ON S.carti_prod_id = products.prod_id
WHERE (shoppingcart.cart_cust_id = 12345)
(Införde S och P för att det skulle bli mer lättläst.)
Nää, det var inte riktigt som jag hade tänkt mig. Resultatet blir en extra kolumn med summan ex. 41*2 = visar 82. Det är alltså @total som skall få total värdet. Har en temp lösning med en select som tar ut info enligt selecten i första inlägget och en select som nedan, som då ger totalsumman till @total som skickas tillbaka med en output parameter.
SELECT @total = sum(products.prod_price* shoppingcartitems.carti_quantity)
FROM shoppingcartitems INNER JOIN
shoppingcart ON shoppingcartitems.carti_cart_id = shoppingcart.cart_id INNER JOIN
products ON shoppingcartitems.carti_prod_id = products.prod_id
WHERE (shoppingcart.cart_cust_id = 12345)
Om du vill ha värdet i en parameter så ser jag inget bättre alternativ än din temp-lösning.
Om du vill ha allt i en fråga så får du nog leva med en extra kolumn
SELECT products.prod_id, products.prod_price, shoppingcartitems.carti_quantity, sum(prod_price*carti_quantity)
FROM shoppingcartitems INNER JOIN
shoppingcart ON shoppingcartitems.carti_cart_id = shoppingcart.cart_id INNER JOIN
products ON shoppingcartitems.carti_prod_id = products.prod_id
WHERE (shoppingcart.cart_cust_id = 12345)
group by products.prod_id, products.prod_price, shoppingcartitems.carti_quantity
with rollup