gpt4 book ai didi

mysql - 更新语句中的内连接抛出错误

转载 作者:行者123 更新时间:2023-11-29 23:24:52 24 4
gpt4 key购买 nike

我有这样的东西:

UPDATE table set new_id=(SELECT distinct t2.new_id
FROM table t1
inner join (SELECT hn.id,max(hn.id) OVER (PARTITION BY first_name,MIDDLE_NAME,last_name) AS new_id
from table)t2
on t1.id=t2.id);

此查询向我抛出一个错误,指出单行子查询返回多行。

请帮助我了解如何更新 new_id 值的语法

最佳答案

该错误告诉您确切的问题:“子查询返回多于一行”:

UPDATE table set new_id=(SELECT distinct t2.ne
^---

子查询可以/将返回多行,并且由于您在相等上下文 (=) 中使用它,因此这是不允许的。如果返回多个不同的值/行,则必须使查询真正仅返回一行/一个值,或者切换到 IN 查询。 IN 选项是不可能的,因为您在 UPDATE 中使用多个值,因此将子查询限制为单行是您唯一的选择。

关于mysql - 更新语句中的内连接抛出错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27047655/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com