Autor | Zpráva | ||
---|---|---|---|
Fisak Profil |
#1 · Zasláno: 21. 3. 2014, 15:53:44
Dobrý den, potřeboval bych vymyslet dotaz na db který by mi sečetl všechny produkty (množství * cena produktů).
Mám jednu tabulku "products" kde je definice id a price (cena). V další tabulce jsou objednávky "orders_products" kde je množství daného objednaného produktu a jeho cena(sloupce "product_id", "quantum"). A já bych potřeboval vymyslet dotaz který by vzal v tabulce orders_products sloupec "product_id" našel by jeho cenu v tabulce "products" tou by vynásobil množství(quantum) v tabulce orders_products a takhle by to udělal se všemi řádky v tabulce orders_products a celkově by to sečetl do jedné proměnné. Pokud by někoho něco napadlo budu velice rád. Předem děkuji za jakoukoliv odpověď. |
||
Alphard Profil |
#2 · Zasláno: 21. 3. 2014, 16:10:08
Spojit ty tabulky tak, aby se vypsal seznam zboží, kde bude počet kusů a cena zvládneš? Jestli ano, pak už stačí použít
sum(mnozstvi*cena) .
|
||
Časová prodleva: 6 dní
|
|||
Fisak Profil |
#3 · Zasláno: 27. 3. 2014, 19:41:44 · Upravil/a: Fisak
Spojil jsem tabulky aby tam byla cena a množství a teď udělám:
$sql_cart_product = DB::query("select [*], SUM(quantum*price) AS full_price from [:pref:eshop_orders_products] where [user_id] = %i", $_SESSION['eshop_user_id'], " or [user_ip] = %i", $_SERVER["REMOTE_ADDR"]); echo $sql_cart_product->fetchSingle('full_price'); ale bohužel se nic nevypíše... použil jsem: foreach ($sql_cart_product as $n => $row_cart_full_price) { echo $row_cart_full_price->full_price; } místo toho echo $sql_cart_product->fetchSingle('full_price'); a funguje to v pořádku jen problém nastává v době kdy chci vypsat jednotlivé produkty jelikož se mi vypíše pouze ten první produkt a žádný další. |
||
Tori Profil |
#4 · Zasláno: 27. 3. 2014, 22:25:36
Fisak:
„potřeboval bych vymyslet dotaz na db který by mi sečetl všechny produkty“ [#1] vs. „problém nastává v době kdy chci vypsat jednotlivé produkty“ [#3] Tož jak teda, všechny dohromady (= celková cena objednávky) nebo po jednom produktu? :-) V druhém případě je potřeba přidat GROUP BY product_id
|
||
Časová prodleva: 10 let
|
0