有三张表小区表,小区出售房源表,小区出租房源表,想查询出小区列表并获取到小区出售房源总数和出租房源总数, 怎么查询?

有小区表community,字段id,name;小区出售房源表sale,字段id,name,cid;小区出租房源表rent,字段id,name,cid;cid与小区字段id关联,想查询到小区列表并获取每个小区的出售房源总数和出租房源总数,最终结果的样子大概是id,name,sale_count,rent_count,如何去查询?

阅读 1.9k
2 个回答
select 
C.id,
C.name,
(
    select count(*) from sale as S where S.cid = C.id
) as sale_count , 
(
    select count(*) from rent as R where R.cid = C.id
) as rent_count 
from community as C;

SELECT community.id,community.name,S_COUNT.sale_count,R_COUNT.rent_count FROM community LEFT JOIN (SELECT sale.cid,count(sale.id) as sale_count from sale GROUP BY sale.cid) AS S_COUNT ON community.id=S_COUNT.cid LEFT JOIN (SELECT rent.cid,count(rent.id) as rent_count from rent GROUP BY rent.cid) AS R_COUNT ON community.id=R_COUNT.cid

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题