Задавайте вопросы, мы ответим
Вы не зашли.
возникла проблема с количеством, когда существует количество в трьох колонках, тогда оно почему-то ставит одинаковые количества с одной колонки в остальные, где должно быть другое количество
select areas.id, areas.areaName, areas.areaCode, count(sites.areaID) as sites, count(link_areas_products.areaID) as products, count(projects.areaID) as projects
from areas
LEFT OUTER JOIN sites on sites.areaID=areas.id
LEFT OUTER JOIN link_areas_products on link_areas_products.areaID=areas.id
LEFT OUTER JOIN projects on projects.areaID=areas.id
group by areas.id, areas.areaName, areas.areaCode
order by areaName
выводит:
1 d1 DD 13 13 13
2 f1 FF 1 0 0
а должно выводить:
1 d1 DD 13 1 1
2 f1 FF 1 0 0
Неактивен
COUNT() выводит количество строк результирующего объединения.
Вы можете поставить COUNT(DISTINCT field). Если поля у Вас разли-
чаются, то это спасет. Но если Вы хотите считать количества строк
в подтаблицах, то только подзапросами.
Неактивен
пробовала COUNT(DISTINCT field), не помагает, а можно какой-то пример с подзапросами?
Неактивен
SELECT areas.id, (SELECT COUNT(*) FROM sites WHERE areaID = areas.id) AS sites
FROM areas;
Неактивен
большое спасибо, вечером попробую
Неактивен
получилось, как раз то что мне было нужно, еще раз большое спасибо
Неактивен