Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Oracle > 2 таблицы один вывод


Автор: Anime 1.2.2012, 11:07
две таблицы с данными

Код

CREATE TABLE A_PEOPLE
  (
    "ID"   NUMBER,
    "NAME" VARCHAR2(20 BYTE)
  );

Insert into A_PEOPLE (ID,NAME) values (1,'hello');
Insert into A_PEOPLE (ID,NAME) values (2,'world');
Insert into A_PEOPLE (ID,NAME) values (3,'baby');
Insert into A_PEOPLE (ID,NAME) values (4,'earth');

CREATE TABLE A_PP
  (
    "ID"    NUMBER,
    "CODE"  NUMBER,
    "SUMMA" NUMBER
  );

Insert into A_PP (ID,CODE,SUMMA) values (1,1,10);
Insert into A_PP (ID,CODE,SUMMA) values (1,2,15);
Insert into A_PP (ID,CODE,SUMMA) values (1,3,40);
Insert into A_PP (ID,CODE,SUMMA) values (2,2,20);
Insert into A_PP (ID,CODE,SUMMA) values (4,1,30);



как можно сделать так чтобы получился такой вывод, как в прикрепленном файле

Автор: Zloxa 1.2.2012, 12:34
Код

SQL> select p.id
  2         ,p.name
  3         ,app1.summa plata
  4         ,app2.code
  5         ,app2.summa
  6  from a_people  p
  7  left join a_pp app1 on app1.id = p.id and app1.code = 1
  8  left join a_pp app2 on app2.id = p.id and app2.code != 1
  9  order by 1
 10  ;
 
        ID NAME                      PLATA       CODE      SUMMA
---------- -------------------- ---------- ---------- ----------
         1 hello                        10          2         15
         1 hello                        10          3         40
         2 world                                    2         20
         3 baby                                       
         4 earth                        30            
 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)