SQL加入RubyonRails
所以我有两个不同的模型,一个叫做数字,它的结构是这样的SQL加入RubyonRails,sql,ruby-on-rails,ruby,ruby-on-rails-4,Sql,Ruby On Rails,Ruby,Ruby On Rails 4,所以我有两个不同的模型,一个叫做数字,它的结构是这样的 t.string :number t.date :texted t.integer :times t.timestamps 一个叫用户(我只包括相关部分) 我需要做的是抓取所有号码,这些号码的文本日期超过2周,时间少于4次,并且t.string:number不等于users表中的任何t.string:phone_号码。我是否需要执行某种sql连接来实现这一点 这就是我到目前为止所做的: numbers = Onumber.where("t
t.string :number
t.date :texted
t.integer :times
t.timestamps
一个叫用户(我只包括相关部分)
我需要做的是抓取所有号码,这些号码的文本日期超过2周,时间少于4次,并且t.string:number不等于users表中的任何t.string:phone_号码。我是否需要执行某种sql连接来实现这一点
这就是我到目前为止所做的:
numbers = Onumber.where("texted <= ? AND times<=4",2.week.ago.utc)
numbers=Onumber.where(“textedYes”)一个left join在这里更合适:
Onumber.joins(
'left join users on onumbers.number = users.phone_number'
).where(
'users.phone_number is null and onumber.times <= 4 and onumber.texted < ?', 2.weeks.ago.utc
)
Onumber.joins(
'left join onumbers.number=users.phone\u number上的用户'
).在哪里(
'users.phone_number为空且onumber.times
Onumber.joins(
'left join users on onumbers.number = users.phone_number'
).where(
'users.phone_number is null and onumber.times <= 4 and onumber.texted < ?', 2.weeks.ago.utc
)