Autor Zpráva
Trencl
Profil *
Chtěl bych se zeptat jak se dá spočítat počet položek v tabulce, která je spojena pomocí JOIN.

Mám tabulky se sloupci:

projekt_id (tabulka projekt)

ukol_id (tabulka ukol)
ukol_projekt (tabulka ukol)

Chtěl jsem udělat seznam projektů s počtem úkolů za pomocí mysql_fetch array, ale k ničemu kloudnému jsem se nedostal.

Díky za radu nebo třeba jen na odkaz kde se to řeší, moc se mi googlit nepodařilo. Díky.
Taps
Profil
Trencl:
v dotaze použij count
Trencl
Profil *
Uvítal bych příklad
Trencl
Profil *
Bohatě by mi stačil článek kde se řeší součet sloupců v podřadných (spojovaných) tabulkách. Pořád mi to nevychází a článek nenacházím...
Alphard
Profil
http://www.linuxsoft.cz/article.php?id_article=864
Trencl
Profil *
[#5] Alphard Děkuji za odpověď, článek řeší sčítání, ale neřeší to můj konkrétní problém se spojováním, který jsem popsal na začátku.

Tady je příklad, jak myslím, že by to mělo fungovat:

$vysledek = mysql_query("
SELECT *
FROM projekt
LEFT JOIN ukol
ON projekt_id=ukol_projekt");
while ($radek = mysql_fetch_array($vysledek, MYSQL_ASSOC) )


Bohužel zobratí řádky úkolů, jenže já chci jen vypsat projekty a k nim pak zobrazit počet řádků v tabulce ukol.
Alphard
Profil
Trencl:
Možná ještě chybí nějaké informace z okolních dílů, nevím.
Count() můžete použít úplně stejně sum() (a další agregační funkce, avg(), ...). Článek se věnuje seskupení, to potřebujete, aby se count použilo na správnou množinu dat.

SELECT *, count(*)
FROM projekt
LEFT JOIN ukol
ON projekt_id=ukol_projekt
group by projekt.projekt_id

Doporučuji spoustět v nějakém správci databáze, php výpis je pro testovaní dotazů šíleně pracný.
Trencl
Profil *
Jo už to mám, díky za tip.

Vaše odpověď

Mohlo by se hodit

Odkud se sem odkazuje


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0