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

Откуда:
Сообщений: 13
Добрый день. Есть таблица
id num q w
1 100 0 0
2 100 0 0
3 101 0 0
4 101 1 0
5 102 2 0
6 102 0 2

Как из нее выбрать num у которых все значения и q и w ='0'. Т.е. из данной табл только 100.
В принципе запрос вида
select num 
from table1
where q='0' and 
         w='0' and 
         num not in (select num 
                     from table1 
                     where q!='0' or w!='0')

отрабатывает нормально, но мб есть косяк либо какой нибудь способ сделать это красивее?
23 окт 13, 12:46    [15019972]     Ответить | Цитировать Сообщить модератору
 Re: Запрос на выборку строк с определенными значениями  [new]
BuKTaP
Member

Откуда:
Сообщений: 132
А этого
select num 
from table1
where q='0' and w='0' 

не достаточно разве?
23 окт 13, 13:12    [15020162]     Ответить | Цитировать Сообщить модератору
 Re: Запрос на выборку строк с определенными значениями  [new]
wannagopro
Member

Откуда:
Сообщений: 13
Тогда 101 тоже попадет в выборку, хотя не должен.
23 окт 13, 13:17    [15020204]     Ответить | Цитировать Сообщить модератору
 Re: Запрос на выборку строк с определенными значениями  [new]
BuKTaP
Member

Откуда:
Сообщений: 132
автор
Т.е. из данной табл только 100.

num = 100 не для всех записей где и q и w ='0'
23 окт 13, 13:17    [15020207]     Ответить | Цитировать Сообщить модератору
 Re: Запрос на выборку строк с определенными значениями  [new]
BuKTaP
Member

Откуда:
Сообщений: 132
select num 
from table1
where q='0' and w='0' and num = '100'

а так что не устраивает?
23 окт 13, 13:18    [15020211]     Ответить | Цитировать Сообщить модератору
 Re: Запрос на выборку строк с определенными значениями  [new]
Baal
Member

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

select num
from table1
group by num
having count(*) = sum(case when q='0' and w='0' then 1 end)
23 окт 13, 13:20    [15020232]     Ответить | Цитировать Сообщить модератору
 Re: Запрос на выборку строк с определенными значениями  [new]
aleks2
Guest
wannagopro
В принципе запрос вида
select num 
from table1
where q='0' and 
         w='0' and 
         num not in (select num 
                     from table1 
                     where q!='0' or w!='0')

отрабатывает нормально, но мб есть косяк либо какой нибудь способ сделать это красивее?


not exists будет лучче.

Но можно и вовсе модерново

select num 
from table1 where q='0' and w='0' 
except
select num 
from table1 where q<>'0' or w<>'0' 
23 окт 13, 13:26    [15020289]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить