Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Несколько count-ов в одном запросе - ? 
:(
    Опции темы
Гость_Coder
Дата 18.8.2005, 09:55 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











У меня есть несколько таблиц, в каждой - энное количество строк, отвечающее условиям. Саму суть объяснять долго, скажем задача такая: есть основная таблица с данными, и есть несколько сопутствующих таблиц. В каждой сопутствующей таблице есть поле parent, в котором содержится номер ключа основной таблицы. Реально ли подсчитать количество таких результатов одним запросом при выборке данных из основной таблицы? Я делаю так:
Код

select maintable.data, count(if(sat_table1.parent=maintable.id,1,NULL)), count(if(sat_table2.parent=maintable.id,1,NULL)) from maintable, sat_table1, sat_table2 group by maintable.id

Но с таким раскладом результаты подсчета смешиваются =( Как с этим можно побороться?
  Вверх
Mal Hack
Дата 18.8.2005, 10:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 11
Всего: 261



никак судя по всему. Тут уже были подобные вопросы. Два каунта в 1 запрос не впихнешь.
PM ICQ   Вверх
Гость_Coder
Дата 18.8.2005, 11:57 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Спасибо. Но все же впихнул =) Правда пришлось по забугорным сайтам полазить. Пишу для того, чтобы было куда посылать в случае повтора таких вопросов =)
Код

select maintable.data, count(DISTINCT case when (sat_table1.parent=maintable.id) then sat_table1.id end) as uniq1, count(DISTINCT case when (sat_table2.parent=maintable.id) then sat_table2.id end) as uniq2 from maintable, sat_table1, sat_table2 group by maintable.id

  Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Базы Данных | Следующая тема »


 




[ Время генерации скрипта: 0.0419 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.