我正在为项目使用SQL Server,但是我的问题似乎不是特定于供应商的。
我有两个表和列,如下所示:
Master:
id
ok
Details:
id
master_id
现在,我需要将“ ok”字段和值从主表移至详细信息表。他们看起来像这样:
Master:
id
ok (kept for copy of values, but will delete it later)
Details:
id
master_id
ok
我在“详细信息”表中创建了“确定”字段。如何将其在主表中的值复制到明细表中的相应记录?这是正确的说法吗?
update Details set ok = (select ok from Master where master_id = id)
答案 0 :(得分:2)
每当查询中有多个表引用时,都应限定 all 列引用。也许这可以解决您遇到的任何问题:
update Details
set ok = (select m.ok
from Master m
where details.master_id = m.id
);