我想用[Référence]列填充[ID联系人]列。关于如何调试此查询的任何线索?
alter table [DB_Test].[dbo].[Check_Result]
add [ID contact] varchar(200)
update [DB_Test].[dbo].[Check_Result]
set [ID contact] = (select [Référence]
from [DB_Test].[dbo].All_Contracts)
我收到此错误: 子查询返回的值超过1。当子查询遵循=,!=,<,<=,>,> =或将子查询用作表达式时,不允许这样做。 该声明已终止。
答案 0 :(得分:0)
我假设两个表之间存在关系,如果可以,则可以执行JOIN
:
UPDATE
cr.[ID contact] = cn.[Référence]
FROM [DB_Test].[dbo].[Check_Result] cr INNER JOIN
[DB_Test].[dbo].All_Contracts cn
ON cr.<col> = cn.<col>;
答案 1 :(得分:0)
错误的原因如下,查询返回多个[Référence]值。
select [Référence] from [DB_Test].[dbo].All_Contracts
您需要在[dbo]。[Check_Result]表和[dbo] .All_Contracts
之间保持外键关系。之后,您可以将两个表连接起来,并从[Référence]更新[ID联系人]
UPDATE C
SET C.[ID contact] = AC.[Référence]
FROM [DB_Test].[dbo].[Check_Result] C
INNER JOIN [DB_Test].[dbo].All_Contracts AC ON AC.FORIEGNKEY_COL = C.FORIEGNKEY_COL