You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

多对多关联场景下跨表更新Activity表字段的技术问询

更新Activity表ActivityDate字段的需求与问题

需求说明

需要从Status表的StatusDate列更新Activity表的ActivityDate列,规则如下:

  • 若Status表中StatusID为X,则将Activity表中ActivityID为A的ActivityDate设为该StatusID对应的日期01-03-2024
  • 若StatusID为Y,则将Activity表中ActivityID为B和C的ActivityDate设为15-03-2024
  • 若StatusID为Z,则将Activity表中ActivityID为D的ActivityDate设为02-04-2024

Activity表

ItemIDActivityIDActivityDate
1A
1B
1C
1D

Status表

ItemIDStatusIDStatusDate
1X01-03-2024
1Y15-03-2024
1Z02-04-2024

尝试的查询语句

UPDATE Activity
    set  a.ActivityDate=
                    case 
                    when s.StatusID='X' AND a.ActivityID='A' THEN s.StatusDate
                    when s.StatusID='Y' AND a.ActivityID in ('B','C') THEN s.StatusDate
                    when s.StatusID='Z' AND a.ActivityID='D' THEN s.StatusDate
                ELSE a.ActivityDate
                END 

from Activity a
    left join Status s on a.ItemID=s.ItemID 

内容的提问来源于stack exchange,提问作者Hussein

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.26 03:12:57