Добро пожаловать в форум, Guest >> Войти | Регистрация | Поиск | Правила | | В избранное | Подписаться | ||
Все форумы / Microsoft SQL Server |
![]() ![]() |
bekhruz Member Откуда: Сообщений: 19 |
всем привет. нужна помощь. Напишите запрос, который выбирает клиентов из таблицы clients, у которых более 10 записей в таблице orders со статусом status = 1. SELECT clients.name, orders.order_name FROM clients LEFT JOIN orders ON clients.id = orders.id_clients WHERE status = 1 тут выбирает всех клиентов со статусом status = 1, надо бы выбрать именно тех у кого больше 10 записей со статусом status = 1. |
29 янв 18, 09:58 [21146192] Ответить | Цитировать Сообщить модератору |
TaPaK Member Откуда: Kiev Сообщений: 6801 |
bekhruz,GROUP BY clients.name, orders.order_name HAVING COUNT(status) >= 10 |
29 янв 18, 10:07 [21146218] Ответить | Цитировать Сообщить модератору |
RMAN54 Member Откуда: Сообщений: 185 |
группируй таблицу заказов по клиенту и хэвинг каунтом фильтруй по десяточке , цепляй это добро жОстко к таблице клиентов |
||
29 янв 18, 10:13 [21146238] Ответить | Цитировать Сообщить модератору |
TaPaK Member Откуда: Kiev Сообщений: 6801 |
RMAN54,
научите |
||
29 янв 18, 10:15 [21146245] Ответить | Цитировать Сообщить модератору |
bekhruz Member Откуда: Сообщений: 19 |
TaPaK, возвращает пустой результат. значит дело в таблице ? |
29 янв 18, 10:16 [21146247] Ответить | Цитировать Сообщить модератору |
TaPaK Member Откуда: Kiev Сообщений: 6801 |
разруха то не в таблицах, а в головах :) |
||
29 янв 18, 11:03 [21146430] Ответить | Цитировать Сообщить модератору |
bekhruz Member Откуда: Сообщений: 19 |
TaPaK, ))) не я создавал таблицы, но все же спасибо |
29 янв 18, 11:57 [21146690] Ответить | Цитировать Сообщить модератору |
Добрый Э - Эх
Guest |
|
||
29 янв 18, 12:04 [21146712] Ответить | Цитировать Сообщить модератору |
bekhruz Member Откуда: Сообщений: 19 |
Добрый Э - Эх, SELECT clients.LastName, clients.Name, orders.status FROM clients LEFT JOIN orders ON clients.id = orders.id_clients ORDER BY clients.LastName здесь сортируется по имени и фамилии, то есть выводит все и вся, мне надо чтобы выводился только тот покупатель у которого более 10 заказов) |
29 янв 18, 12:10 [21146736] Ответить | Цитировать Сообщить модератору |
Добрый Э - Эх
Guest |
А где тот, что
|
||
29 янв 18, 12:18 [21146770] Ответить | Цитировать Сообщить модератору |
bekhruz Member Откуда: Сообщений: 19 |
Добрый Э - Эх, SELECT clients.name, orders.order_name FROM clients LEFT JOIN orders ON clients.id = orders.id_clients GROUP BY clients.name, orders.order_name HAVING COUNT(status) >= 10 |
29 янв 18, 12:23 [21146792] Ответить | Цитировать Сообщить модератору |
TaPaK Member Откуда: Kiev Сообщений: 6801 |
bekhruz, уберите orders.order_name |
29 янв 18, 12:28 [21146817] Ответить | Цитировать Сообщить модератору |
Добрый Э - Эх
Guest |
|
||
29 янв 18, 12:37 [21146840] Ответить | Цитировать Сообщить модератору |
TaPaK Member Откуда: Kiev Сообщений: 6801 |
я так понимаю усливия всё таки не
а немного другие, а хрустальный шар после выходных запотел и не протирался SELECT clients.name, orders.order_name FROM clients LEFT JOIN orders ON clients.id = orders.id_clients WHERE ( SELECT COUNT(status) FROM orders x WHERE x.id_clients = clients.id ) >= 10 или SELECT clients.name, orders.order_name FROM clients LEFT JOIN orders ON clients.id = orders.id_clients WHERE EXISTS ( SELECT 1 FROM orders x WHERE x.id_clients = clients.id GROUP BY x.id_clients HAVING COUNT(status) > = 10 ) |
||
29 янв 18, 12:37 [21146841] Ответить | Цитировать Сообщить модератору |
TaPaK Member Откуда: Kiev Сообщений: 6801 |
ну status = 1 подобавлять ещё :) |
29 янв 18, 12:38 [21146844] Ответить | Цитировать Сообщить модератору |
Добрый Э - Эх
Guest |
|
||||
29 янв 18, 12:49 [21146871] Ответить | Цитировать Сообщить модератору |
RMAN54 Member Откуда: Сообщений: 185 |
Вот и выполнена лабораторка) |
29 янв 18, 13:02 [21146918] Ответить | Цитировать Сообщить модератору |
bekhruz Member Откуда: Сообщений: 19 |
TaPaK, первая выборка подошла... спасибо большое |
29 янв 18, 13:05 [21146930] Ответить | Цитировать Сообщить модератору |
bekhruz Member Откуда: Сообщений: 19 |
Добрый Э - Эх, спасибо, вот теперь все выходит |
29 янв 18, 13:06 [21146940] Ответить | Цитировать Сообщить модератору |
Все форумы / Microsoft SQL Server | ![]() |