Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Проблема с количеством
 
 автор: Ruslana   (22.06.2010 в 13:22)   письмо автору
 
 

возникла проблема с количеством, когда существует количество в трьох колонках, тогда оно почему-то ставит одинаковые количества с одной колонки в остальные, где должно быть другое количество

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

  Ответить  
 
 автор: Trianon   (22.06.2010 в 14:14)   письмо автору
 
   для: Ruslana   (22.06.2010 в 13:22)
 

Функция COUNT возвращает количество определенных значений в таблице-результате, что бы Вы ни написали в префиксе названия поля.

Подчиненные количества имеет смысл вытащить отдельными запросами.

  Ответить  
 
 автор: Ruslana   (22.06.2010 в 20:43)   письмо автору
 
   для: Trianon   (22.06.2010 в 14:14)
 

большое спасибо за помощь, но мне уже помогли на другом форуме и вот что получилось:

SELECT areas.id, areas.areaName, areas.areaCode,
(SELECT COUNT(*) FROM sites WHERE sites.areaID=areas.id) AS sites,
(SELECT COUNT(*) FROM link_areas_products WHERE link_areas_products.areaID=areas.id) AS products,
(SELECT COUNT(*) FROM projects WHERE projects.areaID=areas.id) AS projects
FROM areas
order by areaName


если кому интересно на вот етом форуме http://sqlinfo.ru/forum/viewforum.php?id=7
























<a href=http://www.bestmarket.com.ua >ноутбуки</a>























<a href=http://www.bestmarket.com.ua >ноутбуки</a>























<a href=http://www.bestmarket.com.ua >телевизоры</a>























<a href=http://www.bestmarket.com.ua >видеокамеры</a>























<a href=http://parts.avtoprom.ua/catalog/seat >запчасти SEAT</a>























<a href=http://parts.avtoprom.ua/catalog/corvette >запчасти Corvette</a>























<a href=http://parts.avtoprom.ua/catalog/samsung >запчасти Samsung</a>

  Ответить  
 
 автор: mihdan   (22.06.2010 в 22:41)   письмо автору
 
   для: Ruslana   (22.06.2010 в 20:43)
 

Потрите переносы левые

  Ответить  
 
 автор: sms-send   (22.06.2010 в 23:09)   письмо автору
 
   для: mihdan   (22.06.2010 в 22:41)
 

Да уж, теперь эта просьба точно не по адресу :)

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования