Autor | Zpráva | ||
---|---|---|---|
Venca190 Profil * |
#1 · Zasláno: 18. 2. 2016, 23:51:47
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 |
#2 · Zasláno: 19. 2. 2016, 00:31:29
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 * |
#3 · Zasláno: 19. 2. 2016, 17:02:49
Keeehi:
SELECT p.name AS name, p.price*a.quota AS price FROM table.... 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 |
#4 · Zasláno: 19. 2. 2016, 17:25:56
Venca190:
Tak to bys asi mohl ukázat celý dotaz. V tomhle ti jaksi chybí ta druhá tabulka. |
||
Časová prodleva: 9 let
|
0