|
|
|
Возможно ли подсчитать одним запросом?
|
|||
|---|---|---|---|
|
#18+
Доброго времени суток! В процессе разработки отчета возникла задача относительно "хитрого" подсчета. Время поджимало - решил тремя запросами и частичным расчетом на клиенте. Но чувствую, то ли практики не хватает с SQL, то ли воображения. Посему, прошу ликбеза. Усеченная структура БД Clients - хранит карточки клиентов Service - хранит карточки обслуживаний Service2Clients - хранит связки клиентов и обслуживаний (многие-к-многим) RubricaNames - хранит каталог рубрикаторов Rubricator - хранит рубрики по всем рубрикаторам Points2Rubrica - хранит привязки значений по рубрикам к различным сущностям БД (например, к обслуживаниям) Задача Найти количество обслуживаний клиентов за период по группе рубрикаторов. Моя неправильная реализация Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. Результат Неправильно следующее Цифры тут получаются недостоверные, т.к. считается не все. Подсчет идет по обслуживаниям, а не по обслуженным клиентам. Так как есть вероятность обслуживания группы - одно обслуживание на группу клиентов Не хватает одной строчки, в которой указано количество обслуживаний за указанный период без привязанных рубрикаторов по данной совокупности перечисленных рубрикаторов Вообщем ... вот, ай нид хелп! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2014, 11:04:10 |
|
||
|
|

start [/forum/topic.php?fid=53&fpage=121&tid=1998398]: |
0ms |
get settings: |
11ms |
get forum list: |
21ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
93ms |
get topic data: |
13ms |
get forum data: |
4ms |
get page messages: |
33ms |
get tp. blocked users: |
2ms |
| others: | 246ms |
| total: | 431ms |

| 0 / 0 |
