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

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

ID NUM VALUE
1 1 1
2 1 1
3 1 0
4 2 1
5 2 1

Необходимо сделать выборку следующего характера: если в столбце value есть 0, то нужно отсечь из выборки все строки с заданным NUM, то есть на выходе мы должны иметь следующее:
ID NUM VALUE
4 2 1
5 2 1

Заранее благодарен за помощь.
6 авг 18, 13:56    [21631409]     Ответить | Цитировать Сообщить модератору
 Re: Отсечь в select'e значения  [new]
Сергей Викт.
Member

Откуда: Москва
Сообщений: 888
normanski,

SELECT id, num, value FROM [ваша таблица] where value>0
6 авг 18, 14:00    [21631422]     Ответить | Цитировать Сообщить модератору
 Re: Отсечь в select'e значения  [new]
Сергей Викт.
Member

Откуда: Москва
Сообщений: 888
не вчитался.

SELECT id, num, value FROM [ваша таблица] where NUM NOT IN (SELECT num from [ваша таблица] where value>0)
6 авг 18, 14:02    [21631426]     Ответить | Цитировать Сообщить модератору
 Re: Отсечь в select'e значения  [new]
Сергей Викт.
Member

Откуда: Москва
Сообщений: 888
Сергей Викт.
не вчитался.

SELECT id, num, value FROM [ваша таблица] where NUM NOT IN (SELECT num from [ваша таблица] where value=0)

ну и конечно же равно. Неудобно с тилипона.)
6 авг 18, 14:03    [21631427]     Ответить | Цитировать Сообщить модератору
 Re: Отсечь в select'e значения  [new]
Посетитель
Member

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

1.
min(Value)over(partition by num)


2.
 not exists(select * from yourtable where num = parentquery.num ... and value=0)
6 авг 18, 14:04    [21631429]     Ответить | Цитировать Сообщить модератору
 Re: Отсечь в select'e значения  [new]
normanski
Member

Откуда:
Сообщений: 3
Благодарю, подстрою сейчас под свои реалии запрос. Вложенные селекты пока с трудом даются.
6 авг 18, 14:05    [21631435]     Ответить | Цитировать Сообщить модератору
 Re: Отсечь в select'e значения  [new]
982183
Member

Откуда: VL
Сообщений: 3349
SELECT t1.*
FROM Table T1, Table T2 
WHERE T1.ID  = T2.ID 
AND T2.ID VALUE  <> 0
6 авг 18, 14:21    [21631489]     Ответить | Цитировать Сообщить модератору
 Re: Отсечь в select'e значения  [new]
982183
Member

Откуда: VL
Сообщений: 3349
Не, не так. Не дочитал.
6 авг 18, 14:23    [21631493]     Ответить | Цитировать Сообщить модератору
 Re: Отсечь в select'e значения  [new]
iap
Member

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

ID NUM VALUE
1 1 1
2 1 1
3 1 0
4 2 1
5 2 1

Необходимо сделать выборку следующего характера: если в столбце value есть 0, то нужно отсечь из выборки все строки с заданным NUM, то есть на выходе мы должны иметь следующее:
ID NUM VALUE
4 2 1
5 2 1

Заранее благодарен за помощь.
Что это за "заданное NUM" такое?
6 авг 18, 15:34    [21631663]     Ответить | Цитировать Сообщить модератору
 Re: Отсечь в select'e значения  [new]
normanski
Member

Откуда:
Сообщений: 3
iap, это значение уникального ключа из другой таблицы.
автор
SELECT id, num, value FROM [ваша таблица] where NUM NOT IN (SELECT num from [ваша таблица] where value=0)

Использовал эту структуру, все работает, как часы. Всем спасибо за различные варианты. Насоветовали так насоветвоали :)
6 авг 18, 16:00    [21631726]     Ответить | Цитировать Сообщить модератору
 Re: Отсечь в select'e значения  [new]
Посетитель
Member

Откуда:
Сообщений: 1384
normanski,
с not in надо быть осторожнее, будет работать до первого null-а.
6 авг 18, 16:12    [21631755]     Ответить | Цитировать Сообщить модератору
 Re: Отсечь в select'e значения  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6794
Посетитель
normanski,
с not in надо быть осторожнее, будет работать до первого null-а.

а вот с not exist 21631429 конечно не надо быть осторожным
6 авг 18, 16:26    [21631775]     Ответить | Цитировать Сообщить модератору
 Re: Отсечь в select'e значения  [new]
Посетитель
Member

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

ну-ка ну-ка, просьба на полуслове не останавливаться и мысль дораскрыть
6 авг 18, 16:35    [21631788]     Ответить | Цитировать Сообщить модератору
 Re: Отсечь в select'e значения  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6794
Посетитель
TaPaK,

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

ваше решение при null не рабочее. Чего вам там ещё на нукать?
6 авг 18, 16:36    [21631789]     Ответить | Цитировать Сообщить модератору
 Re: Отсечь в select'e значения  [new]
Посетитель
Member

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

И действительно.
тогда и с not exists надо быть осторожнее
6 авг 18, 16:41    [21631799]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить