我有一张这样的桌子:
A
ID_A ID_1 ID_2
1 1 (null)
2 3 (null)
3 7 (null)
B
ID_B ID_1 ID_2
1 (null) 2
2 (null) 4
3 (null) 6
REF
ID_A ID_B
1 2
3 1
根据 ref 表,ID_A 为 2 的对象与 ID_B 为 1 的对象相同。
因此,我应该能够以这种方式更新表:
A
ID_A ID_1 ID_2
1 1 4
2 3 (null)
3 7 2
实际上,如果您执行以下查询,您会得到该结果:
select
A.ID_A, B.ID_1, C.ID_2
from
A, B, REF
where
A.ID_A = REF.ID_A
AND REF.ID_B = B.ID_B
(实际上你丢失了空行,因为它是一个内部连接,但这不是重点。)
我完全无法做的是用这个新信息更新 A!我要么得到“单行子查询返回多行”的更新,要么得到可爱的结果,即我的查询在合并时是不确定的。
鉴于我确实拥有我所展示的三个表,我如何编写查询以正确更新 id_2?;