2016-10-17 8 views
1

У меня есть таблица вроде этого:Как найти строку не содержит значения в другом столбце

Id | Value1 | Value2 
1  | x | 2 
2  | x | 3 
3  | x | 7 
4  | y | 3 
5  | z | 1 
6  | z | 7 
7  | c | 5 
8  | c | 6 

Как я могу получить «Value1», который не содержит значение 7 в колонке «значение2»

Таким образом, результат должен быть:
у
с

Спасибо.

+1

'select val1 from yourtable where val2 <> 7'? Или это слишком легко? –

+0

@Drew Я считаю, что это, возможно, было неправильно обозначено как дубликат. Посмотрите на результат. Если бы это было простое «Where not = 7», то оно возвращало бы X и Z, а не только Y и C. OP не был в высшей степени ясен в этом, однако PaulF указал на ту же ошибку в моем собственном ответе ниже. – Santi

+0

@Santi - спасибо, что я как раз собирался сделать этот комментарий и отметил вопрос о повторном открытии – PaulF

ответ

1

EDITED

Как отметил PaulF в комментариях ниже, возможно, я неправильно понял ваш вопрос. Попробуйте что-то вроде этого ...

SELECT DISTINCT Value1 
FROM MyTable a 
WHERE NOT EXISTS (SELECT Value1 FROM MyTable b WHERE b.Value1 = a.Value1 AND b.Value2 = 7) 
+0

Неповторяйте свой запрос return x, y, z & c - OP хочет устранить x & z, потому что у них есть значения, содержащие 7 – PaulF

+0

@PaulF О, человек, возможно, вы правы! Я неправильно понял вопрос, который я предполагаю. Я отредактирую. – Santi

+0

@PaulF Возможно, это лучше! – Santi

Смежные вопросы