Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/71.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_Mysql Workbench - Fatal编程技术网

如何通过在mysql中组合两个以上的表来获得计数

如何通过在mysql中组合两个以上的表来获得计数,mysql,mysql-workbench,Mysql,Mysql Workbench,我有一个带有状态列的表“a”,它可以有4个值。在表A中,我有表“B”的id,表B有表“C”的id。我想通过连接所有这些列从表“A”获取状态计数。表A中的状态列是表“D”中的外键。表“D”的状态为1-同意、2-未同意等问题缺少一些可能有用的信息。特别是,你到底想数什么。(即,您只是在尝试统计所有行,还是在尝试统计表A中具有每个状态的行数)。我将给出一个假设后者的答案 我还将假定“id”是它自己的表的主键,该id将是表中其他表的id select A.statusField, count(*) fr

我有一个带有状态列的表“a”,它可以有4个值。在表A中,我有表“B”的id,表B有表“C”的id。我想通过连接所有这些列从表“A”获取状态计数。表A中的状态列是表“D”中的外键。表“D”的状态为1-同意、2-未同意等

问题缺少一些可能有用的信息。特别是,你到底想数什么。(即,您只是在尝试统计所有行,还是在尝试统计表A中具有每个状态的行数)。我将给出一个假设后者的答案

我还将假定“id”是它自己的表的主键,该id将是表中其他表的id

select A.statusField, count(*)
from A
join B on (A.Bid = B.id)
join C on (B.Cid = C.id)
group by A.statusField
希望有帮助