Autor | Zpráva | ||
---|---|---|---|
mackopu Profil |
#1 · Zasláno: 26. 2. 2005, 14:51:03
Zdravím,
potýkám se s problémem, jak z tabulky vycucnout pomocí jednoho dotazu totéž co dosud dvěma dotazy. Toto funguje: $vysledek = mysql_query("select id from tabulka WHERE podminka"); zatímco toto ne: $vysledek = mysql_query("select SUM(cena) AS soucet, id from tabulka WHERE podminka"); a vyhazuje to obligátní "Warning: mysql_result(): supplied argument is not a valid MySQL result..." Pravděpodobně někde dělám triviální chybu. Může mi někdo rozlepit víčka? |
||
juneau Profil |
#2 · Zasláno: 26. 2. 2005, 14:54:39
proste nesmyslny SQL dotaz... Sum vrati jednu hodnotu, pritom id jich vrati tolik, kolik radku vyhovuje podmince... s tim si mysql neporadi.
|
||
mackopu Profil |
#3 · Zasláno: 26. 2. 2005, 15:02:52
Jak mám tedy postupovat, když chci obě hodnoty vytáhnout jední dotazem?
|
||
juneau Profil |
#4 · Zasláno: 26. 2. 2005, 15:14:04
dam levou ruku na to, ze to jednim dotazem nepujde.
|
||
mackopu Profil |
#5 · Zasláno: 26. 2. 2005, 15:24:33
Slyšel jsem cosi o GROUP, ale ještě jsem to nepoužíval, takže vlastně nevím, jak to funguje. A - popravdě - z mysql manuálu mi to taky není jasné. Někdy si připadám jako lama :-)
|
||
juneau Profil |
#6 · Zasláno: 26. 2. 2005, 15:28:40
GROUP se celkem dobre pouzije treba v tabulce komentaru nejakych clanku... pomoci count() (spocita pocet hodnot v sloupci, je ze stejne kategorie jako SUM() ) a GROUP BY se da krasne vypsat treba statistika nejpilnejsich komentatoru..
jmenoA | 20 komentaru jmenoB | 18 komentaru jmenoC | 15 komentaru Jenze to je prave to... z vysledku zmizi udaje o cemkoli jinem. Takhle vite, ze uzivatel "jmenoA" napsal 20 komentaru, ale nemuzete nijak zjistit ID tech komentaru. Coz je vas pripad... |
||
mackopu Profil |
#7 · Zasláno: 26. 2. 2005, 15:43:28
Budu se tedy muset smířit s používáním dvou nezávislých dotazů, což zase není takové neštěstí.
Děkuji za ochotu a dále považujme tento problém za bezpředmětný. |
||
Časová prodleva: 19 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0