我需要创建一个update语句,它将使转换后的值相加,并根据case语句将适当的结果写入数据库。这也必须按ID分组,因为我们存储了随后计算的答案,并且必须保存适当的结果以便于分析数据。 在尝试了太多的事情后我终于放弃了,今天已经足够了。任何有良好心灵和知识的人都可以帮忙吗?
以下是我目前结束的剧本。
Update DB.sf_snew
Set answer =
(Case When
sum(cast(question1 as Int)) + sum(cast(question2 Int))
+ sum(cast(question3 as Int))
<= 20 Then 'reject' Else 'accept'
End
)
Group By Id
我无法相信一些简单的事情让我的日子变得非常糟糕。 感谢您的任何帮助。
答案 0 :(得分:0)
通过以下方式删除总和和组:
Update DB.sf_snew
Set answer =
Case When
cast(question1 as Int) + cast(question2 Int)
+ cast(question3 as Int)
<= 20 Then 'reject' Else 'accept'
End
答案 1 :(得分:0)
您不需要使用聚合,只需执行以下操作:
UPDATE DB.sf_snew
SET Answer = CASE WHEN CAST(Question1 AS INT) + CAST(Question2 AS INT) + CAST(Question3 AS INT) <= 20 THEN 'Reject' ELSE 'Accept' END
UPDATE将自动逐行工作