mysql - 左外加入 rails

标签 mysql ruby-on-rails join left-join

我有两个对象 - 客户和客户签到。每个客户有很多签到,每个签到属于一个客户。

我需要想出一个查询来输出完整的客户列表以及他们每月的签到次数。我当前的查询如下所示:

customer = Customer.where(account_id: 139).joins('LEFT JOIN
    customer_checkins on customer_checkins.customer_id =
    customers.id').uniq.select("COUNT(*) as count, customers.created_at as
    created_at, customers.name, customers.telephone, customers.mobile,
    customers.email, customers.gender, customers.city,
    customers.birthday,date_format(customer_checkins.created_at, '%b') as
    'month', customers.id").group("customer_checkins.customer_id,
    date_format(customer_checkins.created_at, '%b %Y')")

此查询未列出所有客户。我的代码有什么问题?

最佳答案

它不会列出所有客户,因为您只搜索 account_id 为 139 的客户。

替换

customer = Customer.where(account_id: 139)...

 customer = Customer...

关于mysql - 左外加入 rails ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30600615/

相关文章:

mysql - 比较两个 url-slugs 以查找相同单词的数量

java - 在 '? WHERE Reg = ?' 附近使用的正确语法

ruby-on-rails - 如何在postgres中恢复my_backup.tar?

MySQL 中 select 的子查询

mysql - 在 mysql : Unknown system variable 'block_encryption_mode' 中更改 aes 的 aes 模式时出错

c# - ElasticSearch - 如何从插入查询中获取自动生成的 id

ruby-on-rails - 如何获取八达通分片的数据库连接?

ruby-on-rails - 更好的 byebug 格式(带颜色)

android - 我如何在 SQlite/PDO 中连接表、同时聚合并将结果转换为 JSON?

sql - 使用 JOIN 来避免数字 ID 是一件坏事吗?