如果一个病人来医院3次,有一次出院状态是死亡,2次是存活.我想写一个代码,在所有的访问,如果状态是死亡,那么最终的状态应该是死亡.

PatientName PatientVisit DischargeStatus FinalStatus
A 1 Survived Survived
A 2 Survived Survived
A 3 Survived Survived
B 1 Died Died
B 2 Survived Died

谢谢.

推荐答案

根据我有限的SQL经验,我认为你应该这样做:

UPDATE Patient SET FinalStatus = 'Died' WHERE PatientName in (SELECT name FROM (SELECT PatientName AS name FROM Patient WHERE DischargeStatus = 'Died') AS a);

因为我们不能在FROM子句中为UPDATE指定目标表‘Patient’,所以我在这里添加了一个内部表‘a’.

Sql相关问答推荐

查询将查找将标记设置为user2的用户

PG SQL中按条件聚合值

Postgresql:从jsons数组到单个id索引的json

SQL查询视图与连接?

对任何(数组)使用LIKE?

了解放置时的连接

判断序列索引处的序列是否完整

无法访问级联删除导致的触发器中已删除的外键记录

如何在T-SQL中编写row_number的WHERE子句?

使用CTE在SNOWFLAKE中创建临时表

SQL JSON_QUERY 使用列中的值构造 json 路径并接收错误

在 PostgreSQL 中生成时间序列查询

我需要在 ASP.NET C# 中获取 2 个 SQL 查询结果的平均值

如何根据 SQL 中的阈值标记一个集群中的所有值?

仅当 SQL Server 中的表为开时,才在存储过程中使用更改跟踪

在 Oracle 21c 中透视文本值

计算 ID 满足条件的次数

每个ID的SQL返回可能的最低级别及其值

T-SQL - 返回每条记录的最近雇佣日期

如何从 2 个 SQLite 表构建嵌套对象?