Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Выборка из двух таблиц  [new]
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]     Ответить | Цитировать Сообщить модератору
 Re: Выборка из двух таблиц  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6794
bekhruz,

GROUP BY  clients.name, orders.order_name 
HAVING COUNT(status) >= 10
29 янв 18, 10:07    [21146218]     Ответить | Цитировать Сообщить модератору
 Re: Выборка из двух таблиц  [new]
RMAN54
Member

Откуда:
Сообщений: 185
bekhruz
всем привет. нужна помощь.
Напишите запрос, который выбирает клиентов из таблицы 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, 10:13    [21146238]     Ответить | Цитировать Сообщить модератору
 Re: Выборка из двух таблиц  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6794
RMAN54,

автор
цепляй это добро жОстко к таблице клиентов

научите
29 янв 18, 10:15    [21146245]     Ответить | Цитировать Сообщить модератору
 Re: Выборка из двух таблиц  [new]
bekhruz
Member

Откуда:
Сообщений: 19
TaPaK,

возвращает пустой результат. значит дело в таблице ?
29 янв 18, 10:16    [21146247]     Ответить | Цитировать Сообщить модератору
 Re: Выборка из двух таблиц  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6794
bekhruz
TaPaK,

возвращает пустой результат. значит дело в таблице ?

разруха то не в таблицах, а в головах :)
29 янв 18, 11:03    [21146430]     Ответить | Цитировать Сообщить модератору
 Re: Выборка из двух таблиц  [new]
bekhruz
Member

Откуда:
Сообщений: 19
TaPaK,

))) не я создавал таблицы, но все же спасибо
29 янв 18, 11:57    [21146690]     Ответить | Цитировать Сообщить модератору
 Re: Выборка из двух таблиц  [new]
Добрый Э - Эх
Guest
bekhruz
TaPaK,

возвращает пустой результат. значит дело в таблице ?
у нас тут не клуб джентльменов - на слово друг другу не верят... запрос показывай...
29 янв 18, 12:04    [21146712]     Ответить | Цитировать Сообщить модератору
 Re: Выборка из двух таблиц  [new]
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]     Ответить | Цитировать Сообщить модератору
 Re: Выборка из двух таблиц  [new]
Добрый Э - Эх
Guest
А где тот, что
bekhruz
возвращает пустой результат
29 янв 18, 12:18    [21146770]     Ответить | Цитировать Сообщить модератору
 Re: Выборка из двух таблиц  [new]
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]     Ответить | Цитировать Сообщить модератору
 Re: Выборка из двух таблиц  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6794
bekhruz,

уберите orders.order_name
29 янв 18, 12:28    [21146817]     Ответить | Цитировать Сообщить модератору
 Re: Выборка из двух таблиц  [new]
Добрый Э - Эх
Guest
bekhruz
Добрый Э - Эх,

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:37    [21146840]     Ответить | Цитировать Сообщить модератору
 Re: Выборка из двух таблиц  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6794
я так понимаю усливия всё таки не
автор
выбирает клиентов из таблицы clients, у которых более 10 записе

а немного другие, а хрустальный шар после выходных запотел и не протирался

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]     Ответить | Цитировать Сообщить модератору
 Re: Выборка из двух таблиц  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6794
ну status = 1 подобавлять ещё :)
29 янв 18, 12:38    [21146844]     Ответить | Цитировать Сообщить модератору
 Re: Выборка из двух таблиц  [new]
Добрый Э - Эх
Guest
TaPaK
ну status = 1 подобавлять ещё :)
Ну тогда:
bekhruz
SELECT clients.name , orders.order_name
FROM clients
LEFT JOIN orders ON clients.id = orders.id_clients
WHERE orders.status = 1
GROUP BY clients.name , orders.order_name
HAVING COUNT(status) >= 10
29 янв 18, 12:49    [21146871]     Ответить | Цитировать Сообщить модератору
 Re: Выборка из двух таблиц  [new]
RMAN54
Member

Откуда:
Сообщений: 185
Вот и выполнена лабораторка)
29 янв 18, 13:02    [21146918]     Ответить | Цитировать Сообщить модератору
 Re: Выборка из двух таблиц  [new]
bekhruz
Member

Откуда:
Сообщений: 19
TaPaK,

первая выборка подошла... спасибо большое
29 янв 18, 13:05    [21146930]     Ответить | Цитировать Сообщить модератору
 Re: Выборка из двух таблиц  [new]
bekhruz
Member

Откуда:
Сообщений: 19
Добрый Э - Эх,

спасибо, вот теперь все выходит
29 янв 18, 13:06    [21146940]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить