Automatický cout z jine tabulky /vyreseno
- tomasnikl
- Člen | 137
//edit: vyreseno
Ahoj,
resim problem, se kterym si nevim rady. Potrebuji vybrat vsechny fotky a z jine tabulky secit pocet hlasu, ktery kazda fotka ma..
tabulky vypadaji takto:
tabulka photo:
id | name | status
tabulka point:
id | photo_id
takze ja potrebuju vybrat vse z tabulky photo, kde je stav = 1 a pote vybrat a secist pocet zaznamu z tabulky point kde photo_id = photo.id
Dotaz jsem udelal takovyto:
$this->database->table('photo')->select('COUNT(point:id) as points')->where('photo.status', 1)->order('photo.id DESC');
a nette sestavi:
SELECT COUNT(`point`.`id`) `as` `points`
FROM `photo`
LEFT JOIN `point` ON `photo`.`id` = `point`.`photo_id`
WHERE (`photo`.`status` = ?)
ORDER BY `photo`.`id` DESC
LIMIT 12
coz skonci chybou. Nevite kde je chyba?
Dekuji
Editoval tomasnikl (21. 6. 2012 12:24)
- vvoody
- Člen | 910
nj :D tiez som vzdy cumel co to na mna vyblafla ladenka ked som dal klucove slovo malymi posmenami.
Dam ti takeho typa ;) do tabulky photo si pridaj nieco ako point_count. Pri kazdej zmene v tabulke point (insert/delete) upravis aj point_count (+1/-1). Tak budes mat ten count priamo pri fotke, je to menej narocne ako stale pokladat join pri zobrazovani tych fotiek. No ak si to cachujes tak to je sumak. ;)