【发布时间】:2017-03-13 20:07:23
【问题描述】:
我有三个表,并且想对表 B 的总结果求和,因为表 B 将得到表 C 中的 count(*) 的总结果。我已经知道如何用 2 个表得到 count(*) 的总结果,但我不知道如何组合 3 张桌子。这是我想要的示例和结果。
就像A表在B表中有一个孩子,而B表中的一些在C表中有一个孩子,所以我只想知道A表有多少个孙子
这是我已经尝试使用 combine 与 2 个表的代码:
SELECT
table_a.*,
(
SELECT
count(*)
FROM
table_b
WHERE
table_b.id_b = table_a.id_A
) AS totala
FROM
table_a
【问题讨论】:
-
你能解释一下结果吗?
-
@Mureinik 感谢您的回复,我已经包含了结果示例。与上面的示例一样,音乐将有 4 个总数据,因为表 C - id_B 的数据与表 B - id_B 和表 B - id_A 的数据相等,表 A - id_A
-
@JhonnyJr。按照这个逻辑,
Movie的计数不应该是 5 吗? -
@DarshanMehta Movie 是 3,因为表 C 中与表 B 有关系的数据只是 3 个数据
-
@JhonnyJr。是的,但是表 b 中与表 A 相关的数据是 4 行。那么,应该是 4 + 1 = 5 吗?
标签: mysql count sum inner-join