日期:2014-05-17 浏览次数:21194 次
SQL> create table A(
2 userid varchar2(3)
3 );
表已创建。
SQL> insert into A values('aaa');
已创建 1 行。
SQL> insert into A values('bbb');
已创建 1 行。
SQL> insert into A values('ccc');
已创建 1 行。
SQL> create table B(
2 userid varchar2(3),
3 code varchar2(2),
4 val int
5 );
表已创建。
SQL> insert into B values('aaa','x1',1);
已创建 1 行。
SQL> insert into B values('aaa','x2',2);
已创建 1 行。
SQL> insert into B values('aaa','x2',3);
已创建 1 行。
SQL> insert into B values('bbb','x1',1);
已创建 1 行。
SQL> insert into B values('bbb','x2',2);
已创建 1 行。
SQL> select
2 A.userid,
3 sum(decode(B.code,'x1',B.val,0)) x1,
4 sum(decode(B.code,'x2',B.val,0)) x2
5 from A
6 left join B on A.userid=B.userid
7 group by A.userid;
USERID X1 X2
------ ---------- ----------
aaa 1 5
bbb 1 2
ccc 0 0