sql-server-2012 - 尝试根据 where 中的结果应用逻辑来拉取某些行
问题描述
我有一个查询,在一个完美的世界里,会拉,例如......
如果 Bill 有 3 行数据:
- 待办的
- 待办的
- 积极的
我正在尝试应用逻辑,如果患者具有活动状态,我只想显示该行:活动
但如果 Sara 有 3 行:
- 待办的
- 待办的
- 待办的
我希望显示所有 3 个待处理。仅当患者有 Active 时才会显示 Active
select distinct
MRN
,[RX Number]
,[Status]
where Status = case when d.Status = 'ACTIVE' then Status
when d.Status <> 'ACTIVE' then Status end
现在我的结果正在拉动(对于上面的比尔示例)
- 待办的
- 待办的
- 积极的
代替
- 积极的
解决方案
你可以使用EXISTS
:
IF EXISTS (SELECT [Status] FROM [dbo].[Table1] WHERE [Status] = 'ACTIVE' AND [Patient] = 'Bill')
SELECT DISTINCT MRN, [RX Number], [Status]
FROM [dbo].[Table1]
WHERE [Patient] = 'Bill'
AND [Status] = 'ACTIVE'
ELSE
SELECT DISTINCT MRN, [RX Number], [Status]
FROM [dbo].[Table1]
WHERE [Patient] = 'Bill'
推荐阅读
- android - 如何在 Kotlin 中使用与 Activity 和 Fragment 相同的 RecyclerView 适配器?
- pandas - 如何为groupby结果的每个值绘制条形图,并计算pandas中每组中另一列中不同值的计数
- date - 使用 Resample 更改格式时 DATETIME 出现问题
- c - 试图理解 c 中的宏定义
- sql - SQLite 运行总计(但键入不同表中的值)
- python - 如何将嵌套列表从 python 传递给相应的 c++ 函数,该函数需要一个 boost python 列表?
- algorithm - 有人可以向我描述这个算法的作用吗?
- typescript - 由于从 mixin 扩展而未定义属性时,Typescript vscode 不显示错误
- c - 如何更新指针以创建列表
- xml - 通过 XSD 重新定义附加限制模式