需要使用提供的状态代码获取记录

use*_*397 -2 sql-server-2008

我需要从表中获取记录.以下是我需要遵循的条件.

表:

SID,Name,Status
1,abc,'T'
1,abc,'R'
2,xyz,'T'
3,acd,'R'
Run Code Online (Sandbox Code Playgroud)

我需要获取状态代码仅为"R"的记录.
我需要获得SID 3.

在这里我可以有更多的状态代码,如'A','P','E'.

我需要获取只有状态代码为"R"的记录,如果任何用户有两个状态代码包含"R",那么我不会在输出中获取记录.

有人可以帮我写一下查询.

谢谢,Rishi.

Lam*_*mak 5

这应该工作:

SELECT [SID]
FROM dbo.YourTable
GROUP BY [SID]
HAVING MIN([Status]) = MAX([Status])
AND MIN([Status]) = 'R';
Run Code Online (Sandbox Code Playgroud)

  • 或者你可以阅读思想,或者真正猜测OP想要什么 (2认同)
  • 或许我可以尝试理解被问到的内容:"我需要获取状态代码**仅**'R'的记录." 查看样本数据和期望的结果,这不是一个真正的**猜测 (2认同)