我有一个表,我需要使用另一个表中的选择来更新它。

我的想法是:

UPDATE articles,
    (SELECT  count(*) AS count FROM nots WHERE otherID=243 GROUP BY number) AS cnots
SET articles.first=(SELECT count FROM cnots WHERE number=1),
    articles.second=(SELECT count FROM cnots WHERE number=2),
    articles.third=(SELECT count FROM cnots WHERE number=3)
WHERE articles.ID=243


该查询引发错误“表'mydb.cnots'不存在”。

我可以通过3种不同的选择来做到这一点,但是我不想,有什么想法吗?

最佳答案

(SELECT  count(*) AS count FROM nots WHERE otherID=243 GROUP BY number) AS cnots


在这里,这一行应该好像有一个表是cnots。这应该是这样的

(SELECT  count(*) FROM cnots WHERE otherID=243 GROUP BY number) AS cnots

关于mysql - MySQL-从带有组的选择中更新多个列,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26827322/

10-11 13:26