表A
id name money
1  A    100O
2  B    200O
3  C    300O
4  A    400O表B
id  name user_money
1     A    300
2     A    200
3     B    200
4     C    500 输出
name  money user_money Percentage
A      5000   500        10%
B      2000   200        10%   
C      3000   500        16.67%

解决方案 »

  1.   

    select a.name,sum(a.money) money,sum(b.user_money) user_money,to_char(round(100*sum(b.user_money)/sum(a.money),4))||'%' Percentage from a,b
    where a,name=b.name
      

  2.   

    忘记写group by 了
    SELECT   a.NAME, SUM (a.money) money, SUM (b.user_money) user_money,
                TO_CHAR (ROUND (100 * SUM (b.user_money) / SUM (a.money), 4)
                        )
             || '%' percentage
        FROM a, b
       WHERE a.NAME = b.NAME
    GROUP BY a.NAME