Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
29.10.2016, 17:14
|
|||
---|---|---|---|
|
|||
Интересная задачка :) |
|||
#18+
Добрый день уважаемые форумчане! Очередная контора прислала интересное ТЗ. Создаю тему в Акцессе, потому как сейчас нет возможности протестировать решение на сервере. Начну, для было большим удивлением и стопором, что в акцессе не работает вложенность функций! Или это я такой старый или я чего-то не понимаю, но count(distinct поле) - в акцессе не работает(в sql ms точно работает, возможно, я был там сразу решение и наваял) Подозреваю, что здесь без подзапросов и группировки не обойтись. В общем-то интересует момент как во втором поле Tab2 посчитать уникальные значения, сгруппировав при этом вывод по первому полю. Интересно будет посмотреть варианты как на акцессе, так и не на акцессе Приглашаю вас к решению данной задачи. Попробуем её решить :) ... |
|||
:
Нравится:
Не нравится:
|
|||
|
29.10.2016, 17:21
|
|||
---|---|---|---|
|
|||
Интересная задачка :) |
|||
#18+
Прилагаю бд для удобства ... |
|||
:
Нравится:
Не нравится:
|
|||
|
29.10.2016, 17:24
|
|||
---|---|---|---|
|
|||
Интересная задачка :) |
|||
#18+
Опа, а что это интересно имеется ввиду? Источники: Tab2 - один товар - одна строка; Tab3 - 1 операция - 1 строка Это типа мы можем какие-то повторяющие строки по товарам в Tab2 исключить? Товаров то несколько... Тоже самое касается 1 операция - 1 строка в Tab3... Чот совсем непонятно, что имеется ввиду... ... |
|||
:
Нравится:
Не нравится:
|
|||
|
29.10.2016, 17:30
|
|||
---|---|---|---|
|
|||
Интересная задачка :) |
|||
#18+
Так, ну да в обще-то то о чём и писал вначале. SELECT Tab2.ID_delivery, Count(Tab2.ID_agent) AS [Count-ID_agent] FROM Tab2 GROUP BY Tab2.ID_delivery; Этот запрос считает общее количество агентов, даже неуникальные. Но я так понял, что нужно посчитать количество агентов онлайн и вот тут не уточняется каким образом нужно их посчитать: уникально или неуникально? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
29.10.2016, 17:44
|
|||
---|---|---|---|
Интересная задачка :) |
|||
#18+
Сэр Мюллих...Так, ну да в обще-то то о чём и писал вначале... А вы точно сейчас с Нами? Ни одного ответа на ваш вопроспока не заметил, видима просто думают.. Это наводит на мрачные мысли. Вы точно не разговариваете сами с собой? Мне как доктору немного это интересно для . ... |
|||
:
Нравится:
Не нравится:
|
|||
|
29.10.2016, 20:36
|
|||
---|---|---|---|
|
|||
Интересная задачка :) |
|||
#18+
В общем удалось реализовать первые два столбца результата: Select t1.ID_delivery as [№ поставки], count(t1.ID_agent) as [Кол-во агентов оффлайн], count(t1.IS_agent) as [Кол-во отгруженных товаров оффлайн] from (SELECT DISTINCT ID_agent, ID_delivery, IS_agent FROM Tab2) as t1 where t1.IS_agent = 'y' group by t1.ID_delivery ; Подскажите кто-то, пожалуйста, как дальше наполнять результат? Если я добавляю подзапросом новый столбец по условию что я считаю количество утил товара, то у меня вообще каша получается. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
29.10.2016, 20:38
|
|||
---|---|---|---|
|
|||
Интересная задачка :) |
|||
#18+
Также я написал отдельным запросом подсчёт утил товара: SELECT ID_delivery, Count(IS_util) AS util FROM (SELECT ID_delivery, IS_util FROM Tab2) where IS_util like 'y' GROUP BY ID_delivery ; Как теперь запихнуть правильно это в дополнительный столбец первого запроса? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
29.10.2016, 20:50
|
|||
---|---|---|---|
|
|||
Интересная задачка :) |
|||
#18+
Получилось вот что: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.
; вместо t2.ID_delivery, хочу видеть поле Count(IS_util) AS util , но как бы я не объявлял это поле - ошибка Модератор: Сэр Мюллих, оформляйте код в тэгах. Это в ваших же интересах, читающим легче разобраться ... |
|||
:
Нравится:
Не нравится:
|
|||
|
|
start [/forum/topic.php?fid=45&mobile=1&tid=1613028]: |
0ms |
get settings: |
11ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
98ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
44ms |
get tp. blocked users: |
1ms |
others: | 352ms |
total: | 537ms |
0 / 0 |