Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/arduino/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
mysql更新连接_Mysql_Sql_Inner Join - Fatal编程技术网

mysql更新连接

mysql更新连接,mysql,sql,inner-join,Mysql,Sql,Inner Join,对于一个系谱网站,我正在寻找以下解决方案:有2个表,人和关系。人们可以有几种关系,但作为父母,只有一种关系。人们有一个整数指向他们父母的关系,关系有两个整数指向形成关系的人。 在计算谁的孩子最多时,我需要先计算一段关系中孩子的数量 我使用的MySQL是: UPDATE relations r INNER JOIN persons p ON r.ID = p.Parents SET Children = SUM(p) GROUP BY p; 但结果是: 您的SQL语法有错误;查看与MySQL服务

对于一个系谱网站,我正在寻找以下解决方案:有2个表,人和关系。人们可以有几种关系,但作为父母,只有一种关系。人们有一个整数指向他们父母的关系,关系有两个整数指向形成关系的人。 在计算谁的孩子最多时,我需要先计算一段关系中孩子的数量

我使用的MySQL是:

UPDATE relations r
INNER JOIN persons p
ON r.ID = p.Parents
SET Children = SUM(p)
GROUP BY p;
但结果是: 您的SQL语法有错误;查看与MySQL服务器版本对应的手册,以了解第5行“groupbyp”附近使用的正确语法


怎么了?

一种方法是:

update interstream.relations r
set r.children = 
(
select SUM(id)
from interstream.persons
where r.ID = Parents
group by id
)

不能在查询中进行这样的聚合。您可以在子查询中执行此操作:

UPDATE relations r INNER JOIN
       (SELECT p.Parents, SUM(p.p) as sump -- Should this really be COUNT(*)?
        FROM persons p
        GROUP BY p.Parents
       ) p
       ON r.ID = p.Parents
    SET r.Children = sump;

这从头到尾都是胡说八道。有“主键”和“外键”。不是“指向的整数”。如果没有表架构的清晰描述,我们将无法帮助您。
关系
是联接表吗?换句话说,
relations
仅仅是两列,其中第一列可能是家长的person表主键,第二列可能是返回person表的外键,表示孩子?非常感谢!这正是我要找的,而且成功了!