MySQL - "Dodatečný" where
Napsal: 09 úno 2015 16:31
Zdravím,
mám tabulku, kde mám různá jména a čísla, a potom tabulku, kde mám ta čísla a k nim jméno těch čísel
. Potom na jedné stránce vypisuji do tabulky jména těch čísel a potřeboval bych k nim každému vypsat počet jmen z první tabulky. Bylo by hnusný dělat pro každý jméno z druhé tabulky zvláštní dotaz, proto se chci zeptat, zda by to nešlo nějak takto:
Vím, že ten druhý dotaz nebude fungovat, ale chtěl bych něco podobného, co by šlo jen jedním dotazem. Samozřejmě by to šlo udělat třeba tak:
Ale chci se zeptat, jestli neexistuje nějaký způsob podobný tomu prvnímu - přijde mi hezčí
Děkuji předem!
mám tabulku, kde mám různá jména a čísla, a potom tabulku, kde mám ta čísla a k nim jméno těch čísel

Kód: Vybrat vše
$dotaz_kategorie = mysql_query("SELECT id, nazev FROM tabulka2 ORDER BY nazev ASC"); //vyberu názvy čísel
$dotaz_nazvy = mysql_query("SELECT id, nazev, cislo FROM tabulka1 ORDER BY nazev ASC");
while ($vysledek_kategorie = mysql_fetch_assoc($dotaz_kategorie))
{
echo "<tr>";
echo "<td>" . $vysledek_kategorie2["nazev"] . "</td><td>" . mysql_query("SELECT COUNT(*) FROM $dotaz_nazvy WHERE cislo='$vysledek_kategorie[\"id\"]'") . "</td>";
echo "</tr>";
}
Vím, že ten druhý dotaz nebude fungovat, ale chtěl bych něco podobného, co by šlo jen jedním dotazem. Samozřejmě by to šlo udělat třeba tak:
Kód: Vybrat vše
$kategorie1 = 0;
$kategorie2 = 0;
...
while ($vysledek_nazvy = mysql_fetch_assoc($dotaz_nazvy))
{
switch ($vysledek_nazvy["cislo"])
{
case 1: $kategorie1++;
case 2: $kategorie2++;
...
}
}
Ale chci se zeptat, jestli neexistuje nějaký způsob podobný tomu prvnímu - přijde mi hezčí
