Форум программистов, компьютерный форум, киберфорум
Microsoft SQL Server
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/65: Рейтинг темы: голосов - 65, средняя оценка - 4.75
7 / 4 / 4
Регистрация: 29.11.2013
Сообщений: 28

Написать запрос, подсчитывающий количество клиентов, не сделавших ни одного заказа в первом квартале

17.09.2014, 21:25. Показов 12735. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть 2 таблицы.
1-я таблица member
member_id Уникальный идентификатор клиента
member_last_name Фамилия
member_first_name Имя
member_patronymic Отчество
member_sex Пол (1-м, 0 - ж)
member_birthday дата рождения (необязательное поле, может быть null)
2-я таблица member_order
order_id Уникальный идентификатор заказа
member_id Уникальный идентификатор клиента
order_date Дата заказа
Надо написать запрос, подсчитывающий количество клиентов, не сделавших ни одного заказа в первом квартале 2008 года.

Получается сделать только через подзапросы:
1й вариант:
T-SQL
1
2
3
4
SELECT (COUNT(member.member_id)-(SELECT COUNT(DISTINCT(member.member_id)) FROM member
INNER JOIN member_order ON member.member_id = member_order.member_id
WHERE member_order.order_date between '01.01.2008' AND '31.03.2008')) as member_count
FROM member
2й вариант:
T-SQL
1
2
3
4
5
SELECT COUNT(member_id) FROM member
WHERE member_id NOT IN
(SELECT DISTINCT(member.member_id) FROM member
INNER JOIN member_order ON member.member_id = member_order.member_id
WHERE member_order.order_date BETWEEN '01.01.2008' AND '31.03.2008')
Может есть возможность сделать без подзапросов?
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
17.09.2014, 21:25
Ответы с готовыми решениями:

Нужен запрос, подсчитывающий количество клиентов, ни сделавших ни одного заказа в определенный период времени
Всем привет! Срочно нужна помощь в составлении sql запроса! Итак есть 2 таблицы: member( в ней хранится информация о клиентах) и...

Удалить из таблицы Клиенты всех клиентов, не сделавших ни одного заказа за все время существования фирмы, или сделавших последний заказ более 10 лет
Удалить из таблицы Клиенты всех клиентов, не сделавших ни одного заказа за все время существования фирмы, или сделавших последний заказ...

Создать запрос для нахождения количества покупателей из всех стран, не сделавших ни одного заказа
Необходимо создать запрос для нахождения количества покупателей из всех стран, не сделавших ни одного заказа

3
311 / 271 / 118
Регистрация: 05.06.2013
Сообщений: 868
18.09.2014, 01:03
Лучший ответ Сообщение было отмечено Esen как решение

Решение

Конечно есть.

Смотрим замечательную картинку по джоинам:


Нас интересует левый нижний вариант. Пишем по аналогии:
SQL
1
2
3
4
SELECT COUNT(member_id) FROM member
LEFT JOIN member_order ON member.member_id = member_order.member_id AND
       member_order.order_date BETWEEN '01.01.2008' AND '31.03.2008'
WHERE member_order.member_id IS NULL;
1
7 / 4 / 4
Регистрация: 29.11.2013
Сообщений: 28
18.09.2014, 10:25  [ТС]
Большое спасибо.
Из какой книги рисунок?
0
311 / 271 / 118
Регистрация: 05.06.2013
Сообщений: 868
18.09.2014, 10:59
Цитата Сообщение от Esen Посмотреть сообщение
Из какой книги рисунок?
Из какой книги точно не знаю, однако если в гугле набрать "sql joins" и перейти к картинкам, то эта схема на большом количестве сайтов есть.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
18.09.2014, 10:59
Помогаю со студенческими работами здесь

Как вывести всех, кто посещал факультатив в первом квартале каждого года
Ребят, есть таблица посещамеости факультатива `посещаемость`, в ней два столбца, `ФИО` и `дата_посещения`. как вывести всех, кто посещал...

Запрос: Вывести список книг, находящихся у одного из клиентов библиотеки
Помогите пожалуйста. Есть таблицы: Клиенты: ФИО, Шифр, Адрес, Телефон, Паспорт. Склад: Книга, Стиль, Залоговая стоимость, Кол-во,...

Отобразить на карте количество клиентов по списку город-количество клиентов
У меня есть список количества клиентов компании, разбитый по городам. Например: Москва: 100, Петербург: 250 клиентов. Цель такая - на...

как правильно написать запрос, чтобы вместо id- номера клиентов, выводилось имя клиента?
как правильно написать запрос, чтобы вместо id- номера клиентов, выводилось имя клиента??

Запрос подсчитывающий остаток продукции
Имеется БД содержащая информацию о выпускаемой продукции.Клиент выбирает на форме интересующий его товар (в строке Выбрать) и указывает...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
Расскажи мне о Мире, бродяга
kumehtar 12.11.2025
— Расскажи мне о Мире, бродяга, Ты же видел моря и метели. Как сменялись короны и стяги, Как эпохи стрелою летели. - Этот мир — это крылья и горы, Снег и пламя, любовь и тревоги, И бескрайние. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru