根据表B中多行的匹配值更新表A中的列

时间:2017-05-11 06:01:43

标签: sql oracle

在我提出问题之前,让我先介绍一下我的表格。我有一张名为" 门票"另一个标题为" 学科"的表格。 "的门票"跟踪所有工作申请单。在这些工作请求中,您可以拥有一个或多个"要求的工作类型"完全填写票证请求。这些个别请求存储在 Disciplines 表中。一旦用户完成他们的工作,该学科的状态"状态"更新为"完成" (disciplines.status_id = 3)。一旦所有disciplines.status_id更新为" 3",我需要自动更新ticket.status_id = 3。如何才能做到这一点?

票证表:

Ticket Table

纪律表:

Discipline Table

  • status_id = 1(开放)
  • status_id = 2(工作)
  • status_id = 3(已关闭)

我以为我需要写一个IF-THEN语句并比较值的SUM。如果它们相等,它们会触发UPDATE语句?类似的东西:

select COUNT(WD.status_id) * 3 
from disciplines WD
where  WD.ticket_id = [ticket id]

与...进行比较

select SUM(WD.status_id) 
from disciplines WD
where  WD.ticket_id = [ticket id]

我迷失了......帮忙?

0 个答案:

没有答案