当另一个表有多个与外键匹配的值时,如果我使用INNER JOIN更新表,会发生什么。
update
customer
SET
customer.chosen_phone = phone.number
FROM
customer c
INNER JOIN
phone p
ON
c.id = p.customer_id
customer
--------
id chosen_phone
-- ------------
10 ?
phone
-----
customer_id number
----------- ------
10 555-123-4567
10 888-999-0000
10 111-222-3333
谢谢!
答案 0 :(得分:0)
我不确定你在做什么数据库。刚在Oracle中尝试了这个,它返回一个错误'单行子查询返回多行'。正如我在问题的评论中所建议的,我建议您寻找可以确定最合适的电话号码的方法。
答案 1 :(得分:0)
在您的情况下,UPDATE将运行3次
1)电话将更新至555-123-4567
2)电话将更新至888-999-0000
3)电话将更新至111-222-3333