2

嗨,我想用另一个表的值更新一个表,但不知道怎么做。

我已经尝试过了,但它不起作用。

UPDATE tblagendamiento SET
CodigoAgenda = 
(select tmptable.CodigoCita from tmptable where tmptable.id = tblagendamiento.id);

这是错误:

Subquery returns more than 1 row
4

2 回答 2

3

您实际上遇到了一个错误,因为您的子查询返回了不止一行。我认为您可以简单地使用INNER JOIN查询来实现这一点

UPDATE tblagendamiento a
INNER JOIN tmptable b
ON a.id = b.id
SET a.CodigoAgenda = b.CodigoCita 
于 2013-06-08T15:31:56.677 回答
2

该消息告诉您子查询返回的行不止一行。假设您不想使用随机值(您可以通过附加limit 1到查询来做到这一点),这意味着您的 where 子句的选择性不够。

于 2013-06-08T15:32:11.823 回答