日期:2014-05-17  浏览次数:20410 次

mysql 的查询嵌套问题。
SQL code


select 
a.*,  d.sell_count
from 
borough as a 
left join (
  select da.* from (
    select count(db.id) as sell_count,db.borough_id from housesell as db
      where db.borough_id = a.id
    ) as da
  ) as d
where 
a.is_checked = 1 
order by id desc 
LIMIT 0, 10




请问,left join 里面的
where db.borough_id = a.id 这一句会报错。请问大家有什么方式来实现嘛。



------解决方案--------------------
把ORDER BY a.id 改成group by
SQL code

SELECT a.*,  COUNT(db.id) AS sell_count FROM  borough AS a 
LEFT JOIN housesell AS db ON( db.borough_id = a.id)
WHERE 
a.is_checked = 1 
GROUP BY a.id
ORDER BY id DESC 
LIMIT 0, 10