Autor Zpráva
Venca190
Profil *
Zdravím, mám kod

dibi::fetchAll("SELECT p.name AS name, sum('p.price*a.quota') AS price FROM table.......
foreach($sql as $row) {
...
...
..
}

vypíše mi to pouze jeden řádek z databáze, jakmile odstraním sum('p.price*a.quota') AS price, zobrazí se mi všechny řádky co obsahuje tabulka "table".
Nevíte někdo proč?
Keeehi
Profil
1. Suma se dělá nad agregovanými daty. Pokud tam nemáš GROUP BY, tak se to bere jako jedna skupina a proto to udělá součet přes celou tabulku
2. Parametr funkce sum by neměl být řetězec.

Tipuji, že vůbec netušíš co děláš a chtěl jsi vlastně jen
SELECT p.name AS name, p.price*a.quota AS price FROM table....
Venca190
Profil *
Keeehi:
SELECT p.name AS name, p.price*a.quota AS price FROM table....
používám taky, to mi zjišťuje cenu položky*počet kusů... to se týká jedný položky(např. Samsung galaxy S4)

a já právě potřebuju, aby mi to spočítalo celkovou sumu všech položek, proto používám sum('p.price*a.quota'), používám to i jinde ve scriptu, ale tam nepotřebuju vypisovat názvy položek apod, tak tam mi stačí dibi::fetch(....) a není co řešit
Radek9
Profil
Venca190:
Tak to bys asi mohl ukázat celý dotaz. V tomhle ti jaksi chybí ta druhá tabulka.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: