Sql RubyonRails | Postgres:如何查找状态记录(根据has|u许多约束条件计算)。请检查描述

Sql RubyonRails | Postgres:如何查找状态记录(根据has|u许多约束条件计算)。请检查描述,sql,ruby-on-rails,postgresql,join,group-by,Sql,Ruby On Rails,Postgresql,Join,Group By,我有一个学校的列表页面,在那里我必须列出学校的名称和状态。状态是根据学生的状态计算的 这是我的模型 班级学校

我有一个学校的列表页面,在那里我必须列出学校的名称和状态。状态是根据学生的状态计算的

这是我的模型

班级学校
因此,我们的想法是将学校名称和学校状态列为

  • 当至少有一名学生处于活动状态时,学校状态为活动状态
  • 当不存在活跃学生但存在学生记录时,学校状态为“暂停”
  • 当没有针对学校的学生记录时,学校状态为关闭
  • 我正在努力找到查询,以获得我想要的数据。因为这是一个有很多的
    的问题,我觉得这对我来说很难。我使用postgresql数据库

    任何帮助都将不胜感激

    注意:我需要sql查询来找到这个。(类似于合并两个表,根据条件计算状态)


    您可以使用
    @school.students.group(:status).count对学校进行迭代并按状态计数。它将返回一个有序的哈希映射状态及其计数。

    您能发布一个表的样本和您想要的输出吗?我已经添加了pic。