我有三个表:
表A1
id  name money
1    A    10
2    A    20
3    B    5
4    C    14
5    A    20表A2
id name money
1   B    15
2   C    20
3   A    10
4   A    15
5   B    5
我算二个表中name为A的money合计是多少?A合计应该得于:75

解决方案 »

  1.   

    select name,sum(money) as cnt
    from (select name,money from a1
          union all
          select name,money from a2) as a
    group by name
      

  2.   

    select
      A1.name , 
      SUM(A1.money+ A2.money) as money 
    from A1
    INNER JOIN A2 ON A2.name=A1.name
    where A1.name = 'A'
      

  3.   

    SELECT
        name,
        SUM(money) AS money
    FROM(
        SELECT name,money
        FROM tb1
        UNION ALL
        SELECT name,money
        FROM tb2
    ) as A
    GROUP BY name
      

  4.   

    select sum(money) from
    (
    select * from a1 where name = 'a'
    union all
    select * from a2 where name = 'a'
    ) t