日期:2014-05-17 浏览次数:20860 次
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