Autor | Zpráva | ||
---|---|---|---|
stepanka Profil * |
#1 · Zasláno: 26. 11. 2009, 21:37:20
Ahoj,
možná bude můj dotaz trochu primitivní, ale nemůžu k tomu nic najít.. Potřebovala bych dva sloupce typu INT od sebe odečíst. Jeden mínus druhý. Považovala jsem to za jednoduchou věc, ale dotaz vrací úplně nesmyslné čísla. $result = mysql_query("SELECT IF(m.varianty_zapnute=1, CONCAT(m.$nazev,' - ',p.$nazev), m.$nazev) as nazev_produktu, , p.kusu_skladem, p.minimalni_mnozstvi FROM ".TBL_PREFIX."produkty p JOIN ".TBL_PREFIX."produkty_matky m ON p.id_matka = m.id_matka WHERE p.kusu_skladem<=p.minimalni_mnozstvi GROUP BY p.id ORDER BY rozdil, nazev_produktu") or die(err(1)); Nevíte co je na tom zvýrazněném kousku kódu špatně? Proč nemůžu takto odečítat? Děkuju moc. |
||
stepanka Profil * |
#2 · Zasláno: 26. 11. 2009, 21:38:28
Omlouvám se za špatné naformátování. Oprava:
$result = mysql_query("SELECT IF(m.varianty_zapnute=1, CONCAT(m.$nazev,' - ',p.$nazev), m.$nazev) as nazev_produktu, (p.kusu_skladem-p.minimalni_mnozstvi) AS rozdil, p.kusu_skladem, p.minimalni_mnozstvi FROM ".TBL_PREFIX."produkty p JOIN ".TBL_PREFIX."produkty_matky m ON p.id_matka = m.id_matka WHERE p.kusu_skladem<=p.minimalni_mnozstvi GROUP BY p.id ORDER BY rozdil, nazev_produktu") or die(err(1)); |
||
stepanka Profil * |
#3 · Zasláno: 26. 11. 2009, 23:35:01
Tak jsem zjistila, ze pokud zaměním mínus za plus, sčítá to dobře, pokud tam není záporné číslo plus nula. Když je tam mínus, odečítá dobře, pokud tam není záporné číslo mínus cokoliv... Tomu vůbec nerozumím. Nestalo se někomu někdy něco podobného?
Děkuju. |
||
ninja Profil |
#4 · Zasláno: 26. 11. 2009, 23:35:27
A jaká nesmyslná čísla ti to vrací? Zvýrazněný kus kódu je v pořádku.
|
||
stepanka Profil * |
#5 · Zasláno: 26. 11. 2009, 23:36:06
ninja:
Díky za reakci, vrací mi to například, že -4 - 0 = 18446744073709551612 |
||
stepanka Profil * |
#6 · Zasláno: 26. 11. 2009, 23:39:43
Aha, už jsem na to přišla. Až teď jsem si všimla, že jeden z těch sloupců mám v databázi uložený jako UNSIGNED, tím pádem bral integer jen v kladných hodnotách. UNSIGNED jsem odebrala a už to odečítá dobře. Stejně tam byl zbytečný..
|
||
asdfgh Profil * |
#7 · Zasláno: 27. 11. 2009, 12:03:15
Na co tam mate group by? Id je nejspise jedinecne...
|
||
Časová prodleva: 14 let
|
0