Mega Code Archive

 
Categories / Oracle PLSQL / Select Query
 

Group joined tables

SQL> create table offerings   2  ( course     VARCHAR2(6)   3  , begindate  DATE   4  , trainer    NUMBER(4)   5  , location   VARCHAR2(8)   6  ) ; Table created. SQL> insert into offerings values ('SQL',date '2009-04-12',13,'DALLAS' ); 1 row created. SQL> insert into offerings values ('OAU',date '2009-08-10',4,'CHICAGO'); 1 row created. SQL> insert into offerings values ('SQL',date '2009-10-04',1,'SEATTLE'); 1 row created. SQL> insert into offerings values ('SQL',date '2009-12-13',1,'DALLAS' ); 1 row created. SQL> insert into offerings values ('JAV',date '2009-12-13',4,'SEATTLE'); 1 row created. SQL> insert into offerings values ('XML',date '2000-02-03',1,'DALLAS' ); 1 row created. SQL> insert into offerings values ('JAV',date '2000-02-01',11,'DALLAS' ); 1 row created. SQL> insert into offerings values ('PLS',date '2000-09-11',8,'DALLAS' ); 1 row created. SQL> insert into offerings values ('XML',date '2000-09-18',NULL,'SEATTLE'); 1 row created. SQL> insert into offerings values ('OAU',date '2000-09-27',13,'DALLAS' ); 1 row created. SQL> insert into offerings values ('ERM',date '2001-01-15',NULL, NULL    ); 1 row created. SQL> insert into offerings values ('PRO',date '2001-02-19',NULL,'DALLAS' ); 1 row created. SQL> insert into offerings values ('RSD',date '2001-02-24',8,'CHICAGO'); 1 row created. SQL> SQL> create table registrations   2  ( attendee    NUMBER(4)   3  , course      VARCHAR2(6)   4  , begindate   DATE   5  , evaluation  NUMBER(1)   6  , constraint  R_PK        primary key(attendee,course,begindate)   7  ) ; Table created. SQL> SQL> insert into registrations values (2,'SQL',date '2009-04-12',4   ); 1 row created. SQL> insert into registrations values (14,'SQL',date '2009-04-12',5   ); 1 row created. SQL> insert into registrations values (6,'SQL',date '2009-04-12',4   ); 1 row created. SQL> insert into registrations values (11,'SQL',date '2009-04-12',2   ); 1 row created. SQL> insert into registrations values (8,'SQL',date '2009-10-04',NULL); 1 row created. SQL> insert into registrations values (9,'SQL',date '2009-10-04',3   ); 1 row created. SQL> insert into registrations values (13,'SQL',date '2009-10-04',4   ); 1 row created. SQL> insert into registrations values (13,'SQL',date '2009-12-13',NULL); 1 row created. SQL> insert into registrations values (12,'XML',date '2000-02-03',4   ); 1 row created. SQL> insert into registrations values (2,'XML',date '2000-02-03',5   ); 1 row created. SQL> insert into registrations values (4,'PLS',date '2000-09-11',NULL); 1 row created. SQL> insert into registrations values (2,'PLS',date '2000-09-11',NULL); 1 row created. SQL> insert into registrations values (11,'PLS',date '2000-09-11',NULL); 1 row created. SQL> SQL> SQL> select o.trainer, avg(r.evaluation)   2  from   offerings o   3         join   4         registrations r   5         using (course,begindate)   6  group  by o.trainer;    TRAINER AVG(R.EVALUATION) ---------- -----------------          1                 4          8         13              3.75 SQL> SQL> drop table registrations; Table dropped. SQL> SQL> drop table offerings; Table dropped.