【问题标题】:How to make a complex SQL query with nested models?如何使用嵌套模型进行复杂的 SQL 查询?
【发布时间】:2014-01-21 10:14:23
【问题描述】:

我有三个模型: Channel > Program > Episode

Channel has_many programs
Program belongs_to channel
Program has_many episodes
Episode belongs_to program

如何进行此查询?

* "关联ChannelEpisodes 的总数,其中Programs 的数量最多。*

要详细一点,

  1. 找到节目数量最多的频道。
  2. 查找加入属于该频道的节目的剧集数。

我真的被困住了。

如何最有效地做到这一点,而不是编写代码行和许多查询?

【问题讨论】:

  • sql server,mysql,oracle?
  • @米海活动记录查询是独立于数据库的吧?
  • @emaillenin 坦率地说,我不知道活动记录是什么。
  • 这是 postgresql @Mihai。任何关于 SQL 的帮助表示赞赏。
  • 那么您想找出节目数量最多的频道的总集数吗?如果有许多频道的节目数量最多,但可能集数不同,您想要什么处理方式?

标签: sql ruby-on-rails activerecord ruby-on-rails-4


【解决方案1】:

我不知道如何处理活动记录。不过用sql就可以解决这个问题,

例如

select top 1 c.channel_id, count(p.)  as count from Program as p inner join Channels as c on c.channel_id=p.channel_id group by  c.channel_id order by 2 desc

【讨论】:

    猜你喜欢
    • 2021-07-17
    • 2018-07-29
    • 2019-01-05
    • 2021-06-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-28
    相关资源
    最近更新 更多