麻烦各位百忙之中抽出一点时间帮我看看这个问题,谢谢! 问题是这样: 有三张表 projects、sub_projects、products。projects 表与子项目表(sub_project)是一对多的关系;projects 表与产品表(products)是一对多的关系;
projects 表,字段 sub_project_id, products_id
sub_projects、products 外键project_id
现在需要做的是查询10条projects ,每条记录中需要包含该条记录的sub_projects总数,products总数
想用一条语句完成 我使用下面的语句:
select projects.* , (select count(*) form sub_projects where projects.id=sub_projects.project_id) as sub_project_count ,
(select count(*) form products where projects.id=products.project_id) as product_count
from projects order by product_count, sub_project_count;
上面的语句虽然可以实现,但是性能太差? 有没有更高效的查询?
如果哪位大神能够用 ruby 帮我写出来,那就太好了,非常感谢!