这又是我。我想问一下你如何修改我的SELECT statament查询的意见。所以基本上我创建了一个名为“Force Schedule2”的用户定义字段,如果此复选框是tick(等于1),那么即使该项目在计划1中,它也会按计划2显示。如何在现有案例中添加它声明?
我当前的SELECT语句是:
SELECT
CASE
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
和我的用户定义的“Force Schedule2”字段是:
dbo.AdditionalInfo.UserDefined3 AS ForceSched
答案 0 :(得分:1)
您在日期操作中尝试做的事情并不明显。你可以做这样简单的事情:
CASE
WHEN dbo.AdditionalInfo.UserDefined3 = 1
THEN 2
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
基本上它符合条件并退出声明。如果你将它翻转,那么你的日期操作是第一次,那么它将返回1,所以你仍然需要考虑你将事情输入案例陈述的顺序。