我有两个数据库。
我在Alarm中有一个表,在表中有一个空列的空值。 我在TMP中有一个列表。
我想将这个单列值复制到Alarm数据库中的表。
到目前为止我尝试的是,
update [Alarm].[dbo].[AlarmDetails] set Alarm_Message = (select * from [TMP].[dbo].[AlarmDetails$])
where 1=1
错误是
Subquery returned more than 1 value.
请注意,
NOTE: There is no id column in source table. Only one table & one column, Alarm Message.
我知道错误的原因,但我应该如何修改我的SQL。
谢谢。
答案 0 :(得分:0)
以下是复制列的示例:
update dst
set Alarm_Message = src.AlarmMessage
from Alarm.dbo.AlarmDetails dst
join TMP.dbo.AlarmDetails src
on dst.id = src.id
您没有指定表格的相关性,因此我假设它们都有id
列。
答案 1 :(得分:0)
你需要这样的东西。
update t1
set
t1.<something1> = t2.<something2>
from
[Alarm].[dbo].[AlarmDetails] t1
join [TMP].[dbo].[AlarmDetails] t2 on (t1.<cols1> = t2.<cols2>)
答案 2 :(得分:0)
UPDATE results SET results.platform_to_insert = (
SELECT correct_platform
FROM build
WHERE results.BuildID=build.BuildID LIMIT 1
);