2014-08-29 4 views
-1

я имею таблицу с записями:Mysql заявление, если по крайней мере один ряд содержит результат

---------------------------------- 
ID | UniqueId | Name | Result 
---------------------------------- 
1  1   Test1 OK 
2  1   Test1 Cancelled 
3  1   Test1 OK 
4  2   Test2 OK 
5  2   Test2 OK 
6  2   Test2 OK 
7  2   Test2 OK 
8  3   Test3 OK 
9  3   Test3 OK 

Скажем, я wan't, чтобы проверить, по крайней мере, один ряд с UniqueID = 1 не содержит результат == Отменено. Чтобы исключить запись с UniqueId = 1, потому что она отменена. Как я могу это сделать? Спасибо

ответ

0
SELECT t1.* from table as t1 where t1.UniqueId not in(select t.UniqueId from table as t 
where t.Result="Cancelled") 
0
SELECT id FROM mytable WHERE uniqueId = 1 AND result != 'Cancelled' 
0

Просто попросите строк с UniqueId = 1 и Result != Cancelled

SELECT ID FROM table WHERE UniqueId = 1 AND Result <> 'Cancelled' LIMIT 1 
0

Я бы этот путь, но другие ответы немного проще с точки зрения синтаксиса.

SELECT UniqueId, Name 
FROM Table T 
GROUP BY UniqueId, Name 
HAVING Result != 'Cancelled' 
Смежные вопросы