2014-08-29 71 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檢查是否至少有一行與唯一ID = 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 = 1Result != 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' 
相關問題