我已经筛选了帖子以找到我的问题的答案,但我没有运气。所以我想我会创建一个新的,看看社区是否能够帮助我!如果我在描述事物时没有使用正确的 SQL 术语,请原谅我。
这个问题的三个表。表 A 是没有依赖关系的“主”表。表 B 具有对表 A 的外键引用。表 C 具有对表 B 的外键引用。
此查询有两个目标。首先是总结一个字段,比如说fieldC,在表C中。必须满足的唯一条件是A中的一个字段,比如说fieldA,必须等于,比如说X。公平地说,这个解决方案很简单:
SELECT Sum(C.fieldC) FROM C
INNER JOIN B
ON C.foreign_keyB = B.id
INNER JOIN A
ON B.foreign_keyA = A.id
WHERE fieldA = X
好的,现在第二个目标:我想计算在表 A 中找到的匹配 fieldA = X 的行数。我试过这个:
SELECT Sum(C.fieldC), Count(A.id) FROM C
INNER JOIN B
ON C.foreign_keyB = B.id
INNER JOIN A
ON B.foreign_keyA = A.id
WHERE fieldA = X
但我得到的总数是很差的。我在这里犯了一些明显的错误吗?感谢大家的帮助!=)