ruby 多对多
悬赏:5 发布时间:2008-07-21 提问人:vwangzhen (初级程序员)
user language
[/color]
A 法语
A 日语
A 德语
B 法语
B 日语
C 法语
C 德语
C 汉语
D 日语
D 德语
怎么查询既会 法语 又会 日语 的用户
ruby on rails 程序设计 , 传来的是一个数组 然后到数据库查询 如果有ruby 方法的话更好
这里只是为了简单说明 事实上p它是一个中间表分别有一张用户表和一张语言表
[color=red]请不要用子查询,我举的只是个例子,如果要查会多种语言的子查询是不可取的
[/color]
A 法语
A 日语
A 德语
B 法语
B 日语
C 法语
C 德语
C 汉语
D 日语
D 德语
怎么查询既会 法语 又会 日语 的用户
ruby on rails 程序设计 , 传来的是一个数组 然后到数据库查询 如果有ruby 方法的话更好
这里只是为了简单说明 事实上p它是一个中间表分别有一张用户表和一张语言表
[color=red]请不要用子查询,我举的只是个例子,如果要查会多种语言的子查询是不可取的
采纳的答案
2008-07-22 qichunren (资深程序员)
我的答案是
Language.find_by_name("法语").users&Language.find_by_name("日语 ").users提问者对于答案的评价:
好!数组的功能就是强大 还有一个sql的简单方法,写不下了
其他回答
select count(t.id)
from t
where t.language ='japenese' or t.language ='french'
group by t.id
只有count数大等于2才符合要求,这样可以不,没有经过验证,不好意思,呵呵
from t
where t.language ='japenese' or t.language ='french'
group by t.id
只有count数大等于2才符合要求,这样可以不,没有经过验证,不好意思,呵呵
qukidon (初级程序员) 2008-07-21




