Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Помощь в написании запроса  [new]
KooFFKO
Member

Откуда:
Сообщений: 7
Добрый день.
Добрые люди подскажите пожалуйста, как написать след. запрос:

Таблица:

"Код гипермаркета"
"Название"
"Город"
"Дата открытия"
"Площадь"

Запрос на выборку всех ГМ только по тем городам, в которых есть ГМ, открытые в 2017 году;

Подскажите кто чем может.
18 ноя 21, 12:37    [22397416]     Ответить | Цитировать Сообщить модератору
 Re: Помощь в написании запроса  [new]
komrad
Member

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

+ это называется подзапрос
select HyperMarket
from Table
where Gorod in (select Gorod from Table where year(Data)=2017)   /*либо так*/
where Gorod in (select Gorod from Table where Data>='20170101' and Data<'20180101')  /*либо так*/
18 ноя 21, 12:58    [22397429]     Ответить | Цитировать Сообщить модератору
 Re: Помощь в написании запроса  [new]
Oleg_SQL
Member

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

c DISTINCT будет приятнее серверу
18 ноя 21, 13:00    [22397431]     Ответить | Цитировать Сообщить модератору
 Re: Помощь в написании запроса  [new]
komrad
Member

Откуда:
Сообщений: 5910
Oleg_SQL
komrad,

c DISTINCT будет приятнее серверу

в плане будет сортировка, так что серверу больше работы, а вот пользователю приятнее, если гипермаркеты не названы с привязкой к району и т.п.
18 ноя 21, 13:09    [22397439]     Ответить | Цитировать Сообщить модератору
 Re: Помощь в написании запроса  [new]
msLex
Member

Откуда:
Сообщений: 9542
komrad
Oleg_SQL
komrad,

c DISTINCT будет приятнее серверу

в плане будет сортировка, так что серверу больше работы, а вот пользователю приятнее, если гипермаркеты не названы с привязкой к району и т.п.


distinct, скорее всего, вообще не повлияет на план запроса.

А вот замена in на exists в некоторых случаях может сказаться позитивно
18 ноя 21, 13:14    [22397447]     Ответить | Цитировать Сообщить модератору
 Re: Помощь в написании запроса  [new]
Oleg_SQL
Member

Откуда: от туда
Сообщений: 241
msLex

distinct, скорее всего, вообще не повлияет на план запроса.


На практике встречал случаи, когда всего лишь 1 дубль записи в конструкции IN (...) создавал затык на пустом месте.
Разумеется речь не идет о выборке в 10 срок ))

Сообщение было отредактировано: 18 ноя 21, 13:57
18 ноя 21, 13:56    [22397483]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить