Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/xamarin/3.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 server 通过连接字符串从多行更新_Sql Server_Tsql - Fatal编程技术网

Sql server 通过连接字符串从多行更新

Sql server 通过连接字符串从多行更新,sql-server,tsql,Sql Server,Tsql,是否可以从多行更新一行 我试图通过连接找到的字符串来更新我的列,但它不起作用 我正在尝试连接列sor.type中的所有sord.type,其中sord.orderid=sor.orderid 查询: update sor set sor.type = sor.type + " " + (select sord.type from sales.OrderDetails sord

是否可以从多行更新一行

我试图通过连接找到的字符串来更新我的列,但它不起作用

我正在尝试连接列
sor.type
中的所有
sord.type
,其中
sord.orderid=sor.orderid

查询:

update sor
set sor.type = sor.type + " " + (select sord.type
                                 from sales.OrderDetails sord
                                 where sord.orderid = sor.orderid)
from sales.Orders sor 
我想得到总数

错误:

Msg 512,第16级,状态1,第1行
子查询返回了多个值。当子查询在=、!=、=或者当子查询用作表达式时


如果没有样本数据,我不确定是否需要
sor.type+''+

在没有更新的情况下尝试以下操作。如果您对结果感到满意,请删除顶部选择并取消对更新的注释

Select 
--update sor set sor.type =
  sor.type + ' ' + (Select Stuff((Select Distinct ' ' +sord.type 
                                                From  sales.OrderDetails sord 
                                                Where sord.orderid = sor.orderid 
                                                For XML Path ('')),1,1,'') )
from sales.Orders sor 

同样,在没有看到示例数据的情况下,可能会有一种更有效的方法,即distinct和join

连接该表,而不是进行子选择。错误表示子查询返回多个值。您是否碰巧自己运行子查询并确认输出?示例数据和所需结果将更有帮助。显然有多条记录,但是否有多个sord.type?@dfundako是的,它返回的值不止一个,这就是为什么我尝试concatenating@JohnCappelletti是多分类类型。我需要为同一个田园诗找到所有的分类类型,这正是我想要的。感谢you@sari乐意帮忙:)