powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / SQL запрос
8 сообщений из 8, страница 1 из 1
SQL запрос
    #39749196
Molasar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем привет!

Нужен запрос SQL, который выберет все client_id, где dt = 17.12.2018 и кол-во client_id не менее 3-х.
Т.е. нужно выбрать тех клиентов, кто создал 17.12.2018 не менее 3-х любых документов.
Таблица Docs:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
-----------------------------------------------------------------------------------------------------
|        id         |      type_id      |     client_id     |     doc_name      |        dt         |
-----------------------------------------------------------------------------------------------------
|                 1 |                 1 |                 1 | Doc1              |        17.12.2018 |
-----------------------------------------------------------------------------------------------------
|                 2 |                 2 |                 1 | Doc2              |        17.12.2018 |
-----------------------------------------------------------------------------------------------------
|                 3 |                 1 |                 1 | Doc3              |        17.12.2018 |
-----------------------------------------------------------------------------------------------------
|                 4 |                 1 |                 2 | Doc4              |        17.12.2018 |
-----------------------------------------------------------------------------------------------------
|                 5 |                 2 |                 2 | Doc5              |        17.12.2018 |
-----------------------------------------------------------------------------------------------------
|                 6 |                 1 |                 2 | Doc6              |        16.12.2018 |
-----------------------------------------------------------------------------------------------------
|                 7 |                 1 |                 3 | Doc7              |        16.12.2018 |
-----------------------------------------------------------------------------------------------------
|                 8 |                 2 |                 3 | Doc8              |        17.12.2018 |
...
Рейтинг: 0 / 0
SQL запрос
    #39749207
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Molasar,
Код: vbnet
1.
2.
3.
4.
SELECT Docs.client_id, Count(Docs.client_id) AS числоДокументов, Docs.dt
FROM Docs
GROUP BY Docs.client_id, Docs.dt
HAVING (((Count(Docs.client_id))>=3) AND ((Docs.dt)=#12/17/2018#));
...
Рейтинг: 0 / 0
SQL запрос
    #39749249
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sdku , а нафига отбор по дате в HAVING? да и в списке вывода, и соответственно в выражении группировки, дата вроде как не нужна...
...
Рейтинг: 0 / 0
SQL запрос
    #39749258
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Akina,
MolasarТ.е. нужно выбрать тех клиентов, кто создал 17.12.2018 не менее 3-х любых документов.
ТС же просит дату-вот она и отбирается
...
Рейтинг: 0 / 0
SQL запрос
    #39749263
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sdku, примерно так

Код: sql
1.
2.
3.
4.
5.
SELECT Docs.client_id
FROM Docs
WHERE Docs.dt=#12/17/2018#
GROUP BY Docs.client_id
HAVING Count(Docs.client_id)>2;
...
Рейтинг: 0 / 0
SQL запрос
    #39749280
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Панург,
в моем варианте 4 строчки, а в Вашем аж 5,правда по длине моя одна равна Вашим двум(или даже больше)-какой же вариант выбрать ???....
А можно и так, в 3 строчки:
Код: vbnet
1.
2.
3.
SELECT client_id,client_id AS числоДокументов, Docs.dt
FROM Docs
WHERE Docs.client_id>=3 AND Docs.dt)=#12/17/2018#
...
Рейтинг: 0 / 0
SQL запрос
    #39749284
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
прошу прощения за последний топик-сморозил ерунду с запросом, не подумавши
...
Рейтинг: 0 / 0
SQL запрос
    #39749285
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sdku, дело не в количестве строк в тексте запроса (можно просто всё написать в одну строку), а в оптимальности.

sdkuА можно и так, в 3 строчки:результат не соответствует ТЗ
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / SQL запрос
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]