繁体   English   中英

如果多个IF语句为true,则更新

[英]update if multiple IF statements are true

这就是我想要的图像。

SELECT dbo.AUDIT WHERE AUD_CloseDate IS NULL
IF AUD_CloseDate IS NULL
check if score is 100%
then update closed date

我需要选择NULL的AUD_CloseDate ,如果为null,则检查total = 100%(如果为true),然后用今天的日期更新AUD_CloseDate列。

Total = (Scored / Total - NA) * 100

不确定如何编码。

这应该按预期工作:

UPDATE dbo.AUDIT
SET AUD_CloseDate = GETDATE()
WHERE AUD_CloseDate IS NULL AND (Scored / Total - NA) *100 >= 100

您需要update语句,而不是select 简化以消除冗余:

update dbo.AUDIT set
AUD_CloseDate = getdate()
where AUD_CloseDate is null
and Scored / Total - NA = 1

只需使用一条简单的SQL。 我使用了一个参数,但是您可以对截止日期的值进行硬编码,也可以使用当前的日期函数之一。

UPDATE dbo.Audit SET AUD_CloseDate = @CloseDateValue 
WHERE AUD_CloseData IS NULL AND total = 100
UPDATE dbo.AUDIT
SET AUD_CloseDate = GETDATE()
WHERE (AUD_CloseDate IS NULL) AND (Scored / Total - NA) *100 >= 100

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM