Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SQL语法帮助_Sql_Sql Server_Syntax - Fatal编程技术网

SQL语法帮助

SQL语法帮助,sql,sql-server,syntax,Sql,Sql Server,Syntax,在一个表中的一行中选择4个不同的列,将它们相加,然后将该值插入同一行中的第5个不同列,SQL语法是什么?这些列都是数字(11,2) 例如,表名为DataCheck 有一个ID是主键,所以我如何选择col1、col2、col3、col4,其中ID=232…等并将它们相加,然后插入col4,其中ID=232…等,除非我误解了: UPDATE MyTable SET col5 = col1 + col2 + col3 + col4 WHERE id = 232 此更新语句应该可以解决您的问题 upd

在一个表中的一行中选择4个不同的列,将它们相加,然后将该值插入同一行中的第5个不同列,SQL语法是什么?这些列都是数字(11,2)

例如,表名为DataCheck
有一个ID是主键,所以我如何选择col1、col2、col3、col4,其中ID=232…等并将它们相加,然后插入col4,其中ID=232…等,除非我误解了:

UPDATE MyTable SET col5 = col1 + col2 + col3 + col4 WHERE id = 232

此更新语句应该可以解决您的问题

update table set col5 = col4 + col3 + col2 + col1

完全猜测-但这有用吗


更新数据检查集col5=(col1+col2+col3+col4)

Errr.。它没有变得比显而易见的更简单:

update myTable
set column5 = column1
            + column2
            + column3
            + column4
            + column5
where <some-where-clause>
更新myTable
设置column5=column1
+专栏2
+第3栏
+专栏4
+专栏5
哪里

为什么要将计算值存储在同一行中


通常,不应将同一数据存储两次(在第1、2、3、4列和第5列中)。如果它们不相等,您如何知道哪一列是正确的?

如果您希望更新所有行,则不需要使用i逐行更新,您是要更新表中的第5列,还是只在查询结果中返回第5个计算列?通常,您不想存储计算值。当其中一个操作数的值发生变化时,必须更新存储的计算总数。