关于sql的三表联合排序
a表中cirid是主键,b,c表都引用a表的主键,现在要求按a中cirid在b,c表中数量进行排序,先按b表降序,b表中数量一样的按c表的数量排,问怎么才能实现...
a表中cirid是主键, b ,c表都引用a表的主键,现在要求按a中cirid在b,c表中数量进行排序,先按b表降序,b表中数量一样的按c表的数量排,问怎么才能实现
展开
2个回答
展开全部
select a.cirid,
(select count(1) from b where a.cirid 肆冲悉= b.cirid) bcount,
裂乎 (select count(1) from c 判散where a.cirid = c.cirid) ccount
from a
order by 2 desc,3 desc
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
select a.cirid,countb,countc
from a
left join (select cirid,count(*) countb from b group by cirid) bb on a.cirid=b.cirid
left join (select cirid,count(*) countc from c group by cirid) cc on a.cirid=c.cirid
order by 2 desc,3 desc
from a
left join (select cirid,count(*) countb from b group by cirid) bb on a.cirid=b.cirid
left join (select cirid,count(*) countc from c group by cirid) cc on a.cirid=c.cirid
order by 2 desc,3 desc
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询