Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/68.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 - Fatal编程技术网

Sql 使用子查询或联接更新列

Sql 使用子查询或联接更新列,sql,sql-server,Sql,Sql Server,我需要使用select查询的结果更新表1的“DA_ArticleDetails”列。我试过这样的方法: UPDATE table1 SET [DA_ArticleDetails] = ( select RIGHT([DA_ArticleDetails], 8000) from table1 ) 但其给出的错误是: Msg 512, Level 16, State 1, Line 1 Subquery returned more than 1 value. This is not permit

我需要使用select查询的结果更新表1的“DA_ArticleDetails”列。我试过这样的方法:

UPDATE table1 
SET [DA_ArticleDetails] =
(
select RIGHT([DA_ArticleDetails], 8000)
from table1
)
但其给出的错误是:

Msg 512, Level 16, State 1, Line 1
Subquery returned more than 1 value. This is not permitted when the subquery follows =, !=, <, <= , >, >= or when the subquery is used as an expression.
The statement has been terminated.
Msg 512,第16级,状态1,第1行
子查询返回了多个值。当子查询在=、!=、=或者当子查询用作表达式时。
声明已终止。

有谁能帮我更新该列吗?

您只需调用以下查询即可

UPDATE table1 
SET [DA_ArticleDetails] = RIGHT([DA_ArticleDetails], 8000)
from table1
UPDATE table1 
SET [DA_ArticleDetails] =RIGHT([DA_ArticleDetails], 8000)

您只需调用以下查询

UPDATE table1 
SET [DA_ArticleDetails] =RIGHT([DA_ArticleDetails], 8000)

此操作不需要FROM。此操作不需要FROM。您似乎希望将数据类型从MAX更改为8000?为什么不直接更改列?似乎您想将数据类型从MAX更改为8000?为什么不改一下专栏呢?谢谢。这个查询确实有帮助。谢谢。这个问题确实有帮助。