2015-05-06 73 views
-2

我需要從表中獲取記錄。 以下是我需要遵循的條件。需要提供狀態代碼提供的記錄

表:

SID,Name,Status 
1,abc,'T' 
1,abc,'R' 
2,xyz,'T' 
3,acd,'R' 

我需要獲取與狀態代碼只有 'R' 的記錄。
我需要得到SID 3.

在這裏我可以有更多的狀態代碼,如'A','P','E'。

我需要獲取只有狀態碼爲'R'的記錄,如果有任何用戶有兩個狀態碼包含'R',那麼我不會在輸出中獲取記錄。

任何人都可以請幫我寫下查詢。

謝謝, Rishi。

+0

你需要整個行,或者只'SID'? – Lamak

+0

我只需要SID的 – user3569397

+0

你是什麼意思「不取出輸出記錄」? – Taegost

回答

5

這應該工作:

SELECT [SID] 
FROM dbo.YourTable 
GROUP BY [SID] 
HAVING MIN([Status]) = MAX([Status]) 
AND MIN([Status]) = 'R'; 
+2

要麼你可以閱讀頭腦,要麼真的對OP想要的內容有很大的猜測 –

+2

或者我可以嘗試理解問題:「我只需要獲取狀態碼**的記錄**'R'。」 。看樣本數據,並且期望的結果它不是一個真正的**大猜測 – Lamak

+0

公頃,您的權利!你實際上可以閱讀這個問題,爲你+1。 –