有a,b两张表
a表
地区  姓名  
东    张
东    李
北    王
北    何
北    刘
b表
地区  姓名      登记金额
东     张        10
东     李        8
北     何        7
如何用一条命名变成
地区  总登记金额  总人数 登记人数  未登记人数
东     10+8         2       2          0
北      7           3       1          2
请各位高手帮忙,谢谢!

解决方案 »

  1.   

    这是我在mssqlserver上面建立的视图,也可以用作查询语句,不过可能不适用其他类型数据库SELECT bb.地区, bb.总登记金额, aa.总人数, bb.登记人数, 
          aa.总人数 - bb.登记人数 AS 未登记人数
    FROM (SELECT 地区, SUM(登记金额) AS 总登记金额, COUNT(地区) AS 登记人数
            FROM b
            GROUP BY 地区) bb INNER JOIN
              (SELECT 地区, COUNT(地区) AS 总人数
             FROM a
             GROUP BY 地区) aa ON aa.地区 = bb.地区