2011-09-21 35 views
0

我有一張表,如下所示。在select語句中的Sql查詢幫助/ Oracle Discoverer

Id  Code   Indicator 
1   AB    
1   CD   Y 
1   EF    
2   BC   Y 
3   AB   
4   GH    
4   AB   Y 
5   CD    
5   BC    

現在我需要檢索ID沒有任何指標與他們關聯。在這種情況下,檢索的行應該是

ID Code  Indicator 
3  AB   
5  CD 
5  BC 

感謝y'll我得到了它的SQL,但我也有同樣的表在Oracle發現者視圖。我如何撰寫報告以獲得相同的結果?所有幫助非常感謝!

+0

你有3列編號,代碼和指標? –

+0

有點更明確的方式問可以避免混亂的問題和答案,否則這個簡單的問題:) – Saket

+0

我永遠不知道如何回覆在這裏......我很抱歉,如果我已經倒了投票的人......是隻是想回復。我已經嘗試使用not null,但返回的行不是我需要的行。我的指標要麼是Y,要麼是null。 我的問題是一個ID可以有多個代碼,可以有一個或沒有指標。我需要檢索那些根本沒有任何指示符的行,即使它們有多個代碼。那有意義嗎? 謝謝! – Cindy

回答

4

這應該這樣做(警告:未經測試):

select id, code 
from table 
where id not in (select id from table where indicator='Y') 
+0

現在的問題是讓指標不關聯(這將意味着NULL)。它沒有具體處理值「Y」。 – Saket

+1

@ user551841 - 顯示的只是令人沮喪的人數沒有正確地閱讀問題。 –

+0

@Saket:在表中,指標列的唯一非空值是'Y'。如果您希望使用子查詢「從指標不爲空的表中選擇ID」,那麼就自己敲一下。 – 2011-09-21 17:37:21

0
SELECT * 
FROM TABLE t1 
WHERE T1.ID in (SELECT 
        t2.ID 
       FROM Table t2 
       GROUP BY t2.ID 
       HAVING MAX(t2.Indicator) = 'Y')