[英]Matching the Values of Two Column in Sql Table and save it into another column
我正在制作一个工具,该工具从表的列中选择UCPost值并将其与同一表的UCPre匹配,然后将其与所有其他详细信息一起插入到其他表中。
表:
**UCID UCName Author UCPre UCPost**
UC01 Login Bilal Haider User must be Registerd User is Loggined sucessfully
UC02 Add User Bilal Haider User is Loggined sucessfully User is added
UC03 Add file Bilal Haider User is Loggined sucessfully File added
UC04 Delete file Bilal Haider File is selected File is deleted
从该表中,我选择UCId UCPre UCPost并插入到另一个表中Name Test
**UCId UCPre UCPost UCNext**
UC01 User must be Registerd User is Loggined sucessfully NULL
UC02 User is Loggined sucessfully User is added NULL
UC03 File must be selected File is added NULL
UC04 File is selected File is deleted NULL
UC05 User is Loggined sucessfully User is deleted NULL
我想用该用例的UCId填充测试表的UCNext列,其中UCPre与所选用例的UCPost相匹配。
像UC01一样,UCPost是我执行查询时成功登录的用户,它与所有用例的UCPre与UC01的UCPost匹配,并且UC02和UC03具有相同的UCPre,因此UCNext必须填充UC02,UC03,但它给出了错误。
问题:当我尝试执行以下语句时
更新测试集UCNext =(从UCDetails中选择UCId,其中test.UCPost = UCPre)
它给出以下错误
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.
请告诉我如何解决这个问题。
test.UCPost =User is Loggined sucessfully
从测试表test.UCPost =User is Loggined sucessfully
在UCDetails
中UCDetails
行,这就是您收到该错误的原因。 试试这个
UPDATE A
SET a.UCNext = b.UCId
FROM test a
JOIN UCDetails b
ON A.UCPost = b.UCPre
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.