当前位置: 首页 > 面试题库 >

不同的连接轨

元俊雅
2023-03-14
问题内容

影片有很多活动

我正在尝试获取将来安排有活动的所有视频。

我已经有这个了:

named_scope :scheduled_in_future, :joins => :event, :conditions => ["event.scheduled_start > ? AND event.status = ?", Time.now.to_i, 'PENDING']

此方法有效,但是如果同一视频将来有多个事件,它将为我提供重复的视频记录。当然,我可以遍历数组并清除重复项,但是必须有一种SQL方式可以做到这一点。

我尝试添加一个

:select => "DISTINCT(video.id)"

但是它只返回ID字段,而不是整个记录。


问题答案:

尝试使用:include代替,:joins您将不会再看到重复的视频结果。

另外,您应该在named_scope中使用lambda,否则Time.now将在您第一次使用时被缓存,并且您将开始获得不正确的结果。

named_scope :scheduled_in_future, lambda {
  { 
    :include => :events,
    :conditions => ["event.scheduled_start > ? AND event.status = ?", Time.now.to_i, 'PENDING']
  }
}


 类似资料:
  • 问题内容: 我有一张桌子叫: 每个都与一个不同的表相关,field的值指定了我要用于该表的表的名称。所有目标表都有几个相似的列: 当前,我正在使用此查询来选择通知,通知它们在目标表中存在相关行,并且其字段为: 但是由于它是a ,如果它与任何表都不匹配,它将返回通知,我该如何重写它,以便它不返回与目标表中的任何行都不匹配的通知?我也尝试了不成功的声明。 问题答案: 我不是100%肯定语法正确,并且现

  • 我们如何使用tomcat jdbc为同一个数据库配置两个不同的模式。我们是否需要为不同的模式创建两个不同配置的tomcat jdbc池连接,或者是否可以配置一个jdbc连接池,然后使用该连接池连接到两个不同的模式。

  • 我有5个代理-母线,变压器,发电机,负载,线路。我有一个需要动态连接以上代理的需求。

  • 我有一个列为col1-col10的表tablename。并非每一行都填充了col4,但每一行都填充了col1、col2、col3。我想在col4满足条件时获取所有{col1,col2,col3}元组,然后从tablename中获取与元组{col1,col2,col3}匹配的所有行。 我不确定是否应该使用内部联接、左联接或其他方式?(我认为内部连接和左连接都应该给我相同的结果)下面的查询给了我一个语

  • 本文向大家介绍Elixir连接不同机器上的节点,包括了Elixir连接不同机器上的节点的使用技巧和注意事项,需要的朋友参考一下 例子 在一个IP地址上启动命名进程: 在另一个IP地址上启动另一个命名进程:            

  • 我正在使用wurstmeister的docker-kafka项目在容器中运行kafka/zoomaster。我使用docker-comup将容器localhost作为变量。 我已经编写了一个Java应用程序,它使用flink连接并使用这个Kafka容器的一个主题。如果我导出一个可运行的罐子,并从我的机器上运行它,它绝对可以正常工作。当我创建下面的图像以从另一个docker容器运行jar时,我在线程