【发布时间】:2018-01-16 05:08:24
【问题描述】:
我需要创建更新语句,以便对转换后的值求和,并根据 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
我不敢相信这么简单的事情让我的一天变得非常糟糕。 感谢您的帮助。
【问题讨论】:
-
请编辑您的问题并提供示例数据和所需结果。您的问题有很多语法错误,不清楚您要做什么。
-
ID 是唯一键吗?您要更新的表的结构是什么?
-
如果
Id是唯一的,那么如果删除group by...行,查询应该可以正常工作。 -
嗨 GolfWolf,是的,尝试分组,但它不喜欢它,否则它将计算每一行中的所有数据并汇总为一行。在我的示例中,我需要计算所有按 id 分组的记录。
标签: sql sql-server tsql