2010-07-24 58 views
0

的價值一定行我有一個表,它類似於:SQL查詢僅返回取決於

cycle | id | name 
------|-------|------ 
0  | 0012 | bob 
s  | 0012 | bob 
1  | 0012 | bob 
0  | 6208 | sally 
1  | 6208 | sally 
0  | 3276 | jane 
s  | 3276 | jane 
1  | 3276 | jane 
0  | 8736 | harry 
s  | 8736 | harry 

我需要一個查詢,這將導致:

cycle | id | name 
------|-------|------ 
s  | 0012 | bob 
0  | 6208 | sally 
s  | 3276 | jane 
s  | 8736 | harry 

因此,只有迴歸具有「循環」值「s」的行,除非特定「id」沒有「s」的值,在這種情況下,它應該返回具有「循環」值「0」的行。

回答

0
SELCET cycle, id, name from tbl1 as t1 where cycle='s' or 
(cycle=0 and (select count(cycle) from tbl1 as t2 where t2.id = t1.id and t2.cycle='s') <= 0) 
group by t1.cycle,t1.id;