gpt4 book ai didi

mysql - Rails 查询 - 条件连接

转载 作者:行者123 更新时间:2023-11-29 21:58:04 25 4
gpt4 key购买 nike

我有 4 个表 A、B、C 和 D,如下:
B 属于 A
B 属于 C
&
C 有很多 D

因为“A”可能有也可能没有任何B,但如果有B,那么B必须有C。根据我的逻辑,C将至少有一个D或可能更多。
现在,我想获取包含 count(b) 和 count(d) 的 A 列表。这里 count(b) 和 count(d) 可能为零。

所以到目前为止我正在做的事情如下:
@a = A.joins(bs: {c: :ds}).select("a.*, count(b) as count_b, count(d) as count_d").group("a.id")
但最终这不起作用,因为它 INNER JOIN ba 。这意味着,如果a没有对应的b,那么该a将不会出现在列表@a中>。这就是问题所在。

那么,有什么办法可以做到吗?

最佳答案

joins 具有接受字符串的形式。在该字符串中,您可以输入 'LEFT OUTER join bs ON bs... = as...'

关于mysql - Rails 查询 - 条件连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32932676/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com