Выберите столбцы, которые не содержат значения в группе в SQL Server - PullRequest
0 голосов
/ 14 октября 2019

У меня есть таблица в SQL Server, как показано ниже. Я хотел бы выбрать столбец идентификатора, который не имеет col1 как '0' в группе id. В основном в таблице ниже я хотел бы вернуть только идентификатор 173999, а не 173888.

id          Col1        record  
--------------------------------------
173888              recorddescription1  
173888      111     recorddescription2  
173888      0       recorddescription3  
173888              recorddescription4  
173888              recorddescription5  
173999              recorddescription1  
173999      222     recorddescription2  
173999              recorddescription3  
173999              recorddescription4

Ответы [ 2 ]

0 голосов
/ 14 октября 2019

С NOT EXISTS:

select distinct t.id
from tablename t
where not exists (
  select 1 from tablename
  where id = t.id and col1 = '0'
)
0 голосов
/ 14 октября 2019

Предполагая, что col1 никогда не бывает отрицательным, вы можете использовать:

select id
from t
group by id
having min(col1) > 0;

Если вы хотите, чтобы идентификаторы возвращались там, где все значения null, тогда используйте:

having min(col1) > 0 or min(col1) is null
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...