例如:
SELECT COUNT(a.id) FROM a WHERE a.fid=1;
SELECT COUNT(b.id) FROM b WHERE b.fid=1;这样可以得出两个结果,分别是10、1。如何将这两句sql合成一句来查询?我试过
 SELECT COUNT(a.id),COUNT(b.id) FROM a INNER JOIN b ON a.fid=b.fid WHERE a.fid=1;
但是不行,怎样才能得出和上面分别查询一样的结果?

解决方案 »

  1.   

    SELECT (
    SELECT COUNT(a.id) FROM a WHERE a.fid=1), (
    SELECT COUNT(b.id) FROM b WHERE b.fid=1)
      

  2.   

    一定要2句变1句的话,select (SELECT COUNT(a.id) FROM a WHERE a.fid=1) aid,
    (SELECT COUNT(b.id) FROM b WHERE b.fid=1) bid
      

  3.   


    select a.num,b.num from 
    (select fid,num=COUNT(id) from tba group by fid) a
    join 
    (select fid,num=count(id) from tbb group by fid) b
    on (a.fid=b.fid)