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

如何在现有SELECT语句的CASE逻辑中添加Force Schedule2强制字段?

调整SELECT查询以支持强制调度逻辑

没问题!我来帮你把这个强制调度的逻辑整合到现有的查询里。核心思路是把自定义字段的判断放在最高优先级——只要ForceSched(也就是dbo.AdditionalInfo.UserDefined3)的值为1,直接返回Schedule2(对应值2);只有当这个复选框没勾选时,才走原来的时间判断逻辑。

修改后的完整查询语句

SELECT 
    CASE 
        WHEN dbo.AdditionalInfo.UserDefined3 = 1 THEN 2  -- 复选框勾选时,强制显示为Schedule2
        WHEN WorkOrder.DateCreated < ( 
            CASE 
                WHEN (DATEPART(dw, dbo.ToBeScheduled_InProgress.Start) = 2) 
                THEN (ToBeScheduled_InProgress.Start + 0.625) - 3 
                ELSE (ToBeScheduled_InProgress.Start + 0.625) - 1 
            END 
        ) THEN 1 
        ELSE 2 
    END AS ScheduleTime,
    dbo.AdditionalInfo.UserDefined3 AS ForceSched  -- 可选:保留此字段方便验证逻辑是否生效
FROM 
    -- 请确保已正确关联所有涉及的表,示例关联逻辑需根据你的实际表结构调整
    WorkOrder
    JOIN dbo.ToBeScheduled_InProgress ON WorkOrder.[关联字段] = dbo.ToBeScheduled_InProgress.[关联字段]
    JOIN dbo.AdditionalInfo ON WorkOrder.[关联字段] = dbo.AdditionalInfo.[关联字段]

逻辑说明

  • 最外层CASE先判断自定义字段:只要UserDefined3等于1,直接返回2,优先满足“强制显示为Schedule2”的需求
  • 当自定义字段不为1时,才执行你原本的时间判断逻辑,根据工单创建时间和调度起始时间的关系返回1或2
  • 如果需要验证逻辑是否正常工作,可以保留ForceSched字段,方便查看每条数据的强制调度开关状态

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.29 07:13:14