Autor | Zpráva | ||
---|---|---|---|
Petr Ká Profil |
Ahoj,
řeším MySQL dotaz, který má vypsat všechny aktuální projekty (alias A) a k nim celkový počet podúloh (zvlášť celkem (alias B) a zvlášť již hotové (alias C)): SELECT a.*, IFNULL(COUNT(b.task_id),0) AS tasks_sum, IFNULL(COUNT(c.task_id),0) AS tasks_finished, ( UNIX_TIMESTAMP(NOW()) - UNIX_TIMESTAMP(a.created) ) / ( UNIX_TIMESTAMP(a.deadline) - UNIX_TIMESTAMP(a.created) ) * 100 AS percentage FROM `projects` a LEFT JOIN projects_tasks b ON b.project_id=a.project_id LEFT JOIN projects_tasks c ON (c.project_id=a.project_id AND c.status='finished') WHERE a.status<>'finished' GROUP BY a.project_id ORDER BY a.deadline ASC Nad testovacímy daty mi to ale vrací, že počet podúloh je 2 a hotových také, přitom jako hotová podúloha je označena (status='finished') pouze jedna. Neví někdo prosím čím by to mělo být? Už si s tím lámu hlavu pár dní... Děkuji EDIT: ve WHERE a.status<>'finished' potřebuji, má se jednat o výpis neukončených projektů
|
||
Petr Ká Profil |
#2 · Zasláno: 20. 10. 2014, 18:17:14
EDIT2 : Vyřešeno přídání DISTINCT do COUNT...
|
||
Časová prodleva: 10 let
|
0