强制拆分SQL请求

时间:2016-05-11 08:56:51

标签: ruby-on-rails

我在这里遇到了SQL问题:

tab = ["medium", "good", "excellent", "mother_tongue"]

users = User.joins(:spoken_languages).where("language = 'FR' and level in (?)", tab).count
  

SELECT COUNT(*)       来自"用户" INNER JOIN"口语_语言"       ON" spoken_languages"。" languageable_id" ="用户"。" id"       AND" spoken_languages"。" languageable_type" ='用户'       在哪里(语言=' FR'和级别(' medium',' good',' excellent',' mother_tongue' ;))

users.joins(:spoken_languages).where("language = 'NL' and level in (?)", tab)
  

SELECT COUNT(*)       来自"用户"       INNER JOIN"口语_语言"       ON" spoken_languages"。" languageable_id" ="用户"。" id"       AND" spoken_languages"。" languageable_type" ="用户"       在哪里(语言=' FR'和级别(' medium',' good',' excellent',' mother_tongue' ;))       AND(语言=' NL'和级别('媒体','良好','优秀'' mother_tongue' ;))

我不希望rails同时检查此列,而是单独检查。

首先检查具有所需级别的法国用户,然后在此列表中使用所需列表的荷兰用户

此处,rails正在寻找具有语言记录的用户' FR'和' NL'。语言记录只是NL或FR而不是两者。

0 个答案:

没有答案