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

Откуда:
Сообщений: 45
Добрый день.
Есть таблица с id и его значением.
Нужно написать запрос, который по каждому id который имеет значение 0 и 1 выводил только значение 0.

create table #z (id int, qua int)
Insert #z
select 1, 0 union all
select 1, 1 union all
select 2, 0 union all
select 3, 1 union all
select 4, 1 union all
select 4, 0 union all
select 5, 1

Т.е. должно получиться:
1 - 0
2 - 0
3 - 1
4 - 0
5 - 1
3 авг 18, 12:36    [21627978]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с запросом  [new]
uaggster
Member

Откуда:
Сообщений: 827
Asic, а в чем проблема то?
Select id, qua
	from #z  a
Where qua = 1 and not exists (Select 1 from #z b where a.id = b.id and b.qua = 0)
Union 
Select id, qua
	from #z  a
Where qua = 0

Или нужно с помощью новомодных фреймовых функций?
Их есть у меня:
Select top(1) with ties id, qua
	from #z  
order by ROW_NUMBER() over (partition by id order by qua ASC) ASC
3 авг 18, 12:53    [21628061]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с запросом  [new]
982183
Member

Откуда: VL
Сообщений: 3353
Сгруппируй по int и возьми min(qua)
3 авг 18, 13:11    [21628143]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с запросом  [new]
982183
Member

Откуда: VL
Сообщений: 3353
Сгруппируй по ID и возьми min(qua)
3 авг 18, 13:11    [21628147]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с запросом  [new]
KRS544
Member

Откуда:
Сообщений: 497
Поясните
Asic
Добрый день.
Нужно написать запрос, который по каждому id который имеет значение 0 и 1 выводил только значение 0.

Т.е. должно получиться:
1 - 0
2 - 0
3 - 1
4 - 0
5 - 1
3 авг 18, 13:14    [21628164]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с запросом  [new]
iap
Member

Откуда: Москва
Сообщений: 46981
KRS544
Поясните
Asic
Добрый день.
Нужно написать запрос, который по каждому id который имеет значение 0 и 1 выводил только значение 0.

Т.е. должно получиться:
1 - 0
2 - 0
3 - 1
4 - 0
5 - 1
Для каждого значения id требуется минимальное qua среди всех строк с этим id.
Это если по-простому
3 авг 18, 13:26    [21628218]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с запросом  [new]
iap
Member

Откуда: Москва
Сообщений: 46981
iap
KRS544
Поясните
пропущено...
Для каждого значения id требуется минимальное qua среди всех строк с этим id.
Это если по-простому
Если qua>=0, разумеется
3 авг 18, 13:26    [21628221]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с запросом  [new]
KRS544
Member

Откуда:
Сообщений: 497
select id,min(qua)
from #z
group by id
3 авг 18, 13:34    [21628255]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить