在ACCESS中的SQL文如下:
select a.f11,a.f12,b.f23 from
(select f1 as fld1, sum(f2) as fld2 from 表A group by f1) a,
(select f1 as fld1,count(f3) as fld3 from 表B group by f1) b
where a.fld1=b.fld1
你稍加修改就OK了。
:)

解决方案 »

  1.   

    在ACCESS中的SQL文如下:
    select a.fld1,a.fld2,b.fld3 from
    (select f1 as fld1, sum(f2) as fld2 from 表A group by f1) a,
    (select f1 as fld1,count(f3) as fld3 from 表B group by f1) b
    where a.fld1=b.fld1
    你稍加修改就OK了。
    :)
      

  2.   

    我知道在SQL Server里可以这样写:
    select a.F1,a.F2,b.F3 from (select F1,sum(F2) F2 from A group by F1) as a, (select F1,count(F3) F3 from B group by F1 ) as b where a.f1=b.f1
    在MySQL里我不知怎么搞?
      

  3.   

    MYSQL好像不支持嵌套SQL,光用JOIN好像又搞不定?
      

  4.   

    MySQL 目前还不支持子查询,
    所以你这种 多对多 的情况还无法通过一条SQL 来实现,
    你可以通过一个临时表来实现它
      

  5.   

    CREATE TEMPORARY TABLE `tA`
      SELECT t1.f1,SUM(t1.f2)AS f2 FROM `t1` GROUP BY t1.f1;SELECT tA.f1,tA.f2,COUNT(t2.f2) AS f3 FROM tA 
      LEFT JOIN t2 ON tA.f1 = t2.f1
      GROUP BY tA.f1;