Autor Zpráva
mackopu
Profil
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");

$vysledek1 = mysql_query("select SUM(cena) AS soucet 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
proste nesmyslny SQL dotaz... Sum vrati jednu hodnotu, pritom id jich vrati tolik, kolik radku vyhovuje podmince... s tim si mysql neporadi.
mackopu
Profil
Jak mám tedy postupovat, když chci obě hodnoty vytáhnout jední dotazem?
juneau
Profil
dam levou ruku na to, ze to jednim dotazem nepujde.
mackopu
Profil
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
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
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ý.
Toto téma je uzamčeno. Odpověď nelze zaslat.

0