2015-05-06 42 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。 –