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乐意帮忙:)