![]() |
|
Модераторы: skyboy |
![]()
|
|
| Majestio |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 83 Регистрация: 19.12.2010 Репутация: нет Всего: нет |
Доброго времени суток!
В процессе разработки отчета возникла задача относительно "хитрого" подсчета. Время поджимало - решил тремя запросами и частичным расчетом на клиенте. Но чувствую, то ли практики не хватает с SQL, то ли воображения. Посему, прошу ликбеза. Усеченная структура БД ![]() Clients - хранит карточки клиентов Service - хранит карточки обслуживаний Service2Clients - хранит связки клиентов и обслуживаний (многие-к-многим) RubricaNames - хранит каталог рубрикаторов Rubricator - хранит рубрики по всем рубрикаторам Points2Rubrica - хранит привязки значений по рубрикам к различным сущностям БД (например, к обслуживаниям) Задача Найти количество обслуживаний клиентов за период по группе рубрикаторов. Моя неправильная реализация
Результат ![]() Неправильно следующее
Вообщем ... вот, ай нид хелп! |
|||
|
||||
| Zloxa |
|
|||
|
Чо? ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3473 Регистрация: 12.9.2008 Репутация: 53 Всего: 161 |
считайте count(distinct клиент.id) rollup? Это сообщение отредактировал(а) Zloxa - 29.10.2014, 09:08 -------------------- Достоверно известно, что 89% людей доверяют статистике взятой с потолка |
|||
|
||||
| baldina |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3433 Регистрация: 5.12.2007 Где: Москва Репутация: 2 Всего: 101 |
Zloxa, зачем distinct, ведь будет группировка?
вообще это неправильно, т.к. даст число клиентов, а не их обслуживаний. нужно считать число в Service2Clients
JOIN делать на все сервисы, а не все рубрикаторы что-то типа
|
||||
|
|||||
| Zloxa |
|
|||
|
Чо? ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3473 Регистрация: 12.9.2008 Репутация: 53 Всего: 161 |
не просто distinct, а что нинаесть count(distinct <expression>). Чтобы посчитать не количество определенных(not null) идентифиакторов, как это сделает просто сount, а количество уникальных идентификаторов клиента в группе. Добавлено через 3 минуты и 52 секунды ну так а что тс пишет? ТС пишет что ему и нужны клиенты а не осблуживания - нет?
Добавлено через 7 минут и 20 секунд ну хотя, да, согласен. Не вник, не подумал, просто тыкнул пальцем в нёбо. Вникать, думать буду когда досуг настанет. -------------------- Достоверно известно, что 89% людей доверяют статистике взятой с потолка |
|||
|
||||
| baldina |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3433 Регистрация: 5.12.2007 Где: Москва Репутация: 2 Всего: 101 |
||||
|
||||
| Majestio |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 83 Регистрация: 19.12.2010 Репутация: нет Всего: нет |
Вот такая штука вощем вымучалась:
|
|||
|
||||
| baldina |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3433 Регистрация: 5.12.2007 Где: Москва Репутация: 2 Всего: 101 |
||||
|
||||
| Majestio |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 83 Регистрация: 19.12.2010 Репутация: нет Всего: нет |
Потом добавил ...
Понимаю, что не совсем по фэншую - время горит. |
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Составление SQL-запросов | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |