gpt4 book ai didi

mysql - 如果在 SQL 中更新了另一个表列,如何更新表列

转载 作者:行者123 更新时间:2023-11-29 10:50:51 24 4
gpt4 key购买 nike

我在 SQL 中有两个表,其结构如下:

1) 医生表

DoctorId PendingCases OngoingCases CompletedCases

2) 案例表

CaseId DoctorId CaseStatus

在案例表中,如果 CaseStatus 设置为 0,则它是待处理案例,如果设置为 1,则它是正在进行的案例,如果设置为 2,则它是已完成的案例。

因此,给定医生 ID 的医生的待处理病例数将是:

select count(*) as 'Pending Cases'
from Cases
Where doctorid = '993883'
and casestatus = 0;

但我需要这些信息来自动更新 doctor 表内的三列。我知道我必须使用触发器,如果​​你能演示一下那就太好了。

最佳答案

不更新表,只使用 View

CREATE VIEW doctors AS
SELECT
doctorId,
SUM(IF(casestatus = 0, 1, 0)) AS pending,
SUM(IF(casestatus = 1, 1, 0)) AS ongoing,
SUM(IF(casestatus = 2, 1, 0)) AS completed
FROM cases
GROUP BY doctorId;

然后你可以像这样查询 View

SELECT * FROM doctors WHERE doctorId = 993883;

关于mysql - 如果在 SQL 中更新了另一个表列,如何更新表列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43752910/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com