TRY IT ..
SQL> SELECT UL.ACCOUNTS,
2 COUNT(1) "USERS",
3 SUM(NVL(RENT,0.00)) "RENT",
4 SUM(NVL(FEE01,0.00)) "FEE01",
5 SUM(NVL(FEE02,0.00)) "FEE02",
6 SUM(NVL(FEE03,0.00)) "FEE03",
7 SUM(NVL(FEE04,0.00)) "FEE04"
8 FROM USERLIST UL,
9 CHARGE CH
10 WHERE UL.TELEPHONE = CH.TELEPHONE(+)
11 GROUP BY UL.ACCOUNTS;ACCOUNTS USERS RENT FEE01 FEE02 FEE03 FEE04
-------- ---------- ---------- ---------- ---------- ---------- ----------
AAAA 2 40 32 34 36 38
BBBB 1 100 31 32 33 34
CCCC 1 250 0 0 0 0SQL>
SQL> SELECT UL.ACCOUNTS,
2 COUNT(1) "USERS",
3 SUM(NVL(RENT,0.00)) "RENT",
4 SUM(NVL(FEE01,0.00)) "FEE01",
5 SUM(NVL(FEE02,0.00)) "FEE02",
6 SUM(NVL(FEE03,0.00)) "FEE03",
7 SUM(NVL(FEE04,0.00)) "FEE04"
8 FROM USERLIST UL,
9 CHARGE CH
10 WHERE UL.TELEPHONE = CH.TELEPHONE(+)
11 GROUP BY UL.ACCOUNTS;ACCOUNTS USERS RENT FEE01 FEE02 FEE03 FEE04
-------- ---------- ---------- ---------- ---------- ---------- ----------
AAAA 2 40 32 34 36 38
BBBB 1 100 31 32 33 34
CCCC 1 250 0 0 0 0SQL>
select t.account,
count(*) users,
sum(t.rent) rent,
sum(nvl(t1.fee01, 0)) fee01,
sum(nvl(t1.fee02, 0)) fee02,
sum(nvl(t1.fee03, 0)) fee03,
sum(nvl(t1.fee04, 0)) fee04
from userlist t, charge t1
where t.telephone = t1.telephone(+)
group by t.account