Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
 добавить строки в результирующий набор  [new]
NightmanAlex
Member

Откуда:
Сообщений: 2
Добрый день
Прошу помочь в решении следущей задачи, необходимо из такого набора данных:

select 'Иванов Иван Иванович' as fio,'0101010' as doc_number ,'16' as filial from dual  union all
select 'итого по клиенту' , null,null from dual union all
select 'итого по филиалу' , null,null from dual union all
select 'Петров Петр Петрович','02020202','12' from dual union all
select 'итого по клиенту' , null,null from dual union all
select 'Санин Александр Петрович','02020202','12' from dual union all
select 'итого по клиенту' , null,null from dual union all
select 'итого по филиалу' , null,null from dual union all
select 'итого по всем филиалам' , null,null from dual 


Необходимо получить следущее:


select '16' as fio,null as doc_number ,null as filial from dual  union all
select 'Иванов Иван Иванович' ,'0101010'  ,'16' from dual  union all
select 'итого по клиенту' , null,null from dual union all
select 'итого по филиалу' , null,null from dual union all
select '12' as fio,null as doc_number ,null as filial from dual  union all
select 'Петров Петр Петрович','02020202','12' from dual union all
select 'итого по клиенту' , null,null from dual union all
select 'Санин Александр Петрович','02020202','12' from dual union all
select 'итого по клиенту' , null,null from dual union all
select 'итого по филиалу' , null,null from dual union all
select 'итого по всем филиалам' , null,null from dual 


Заранее благодарю
5 мар 13, 10:21    [14012417]     Ответить | Цитировать Сообщить модератору
 Re: добавить строки в результирующий набор  [new]
-2-
Member

Откуда:
Сообщений: 15330
with есть as (
select 'Иванов Иван Иванович' as fio,'0101010' as doc_number ,'16' as filial from dual  union all
select 'итого по клиенту' , null,null from dual union all
select 'итого по филиалу' , null,null from dual union all
select 'Петров Петр Петрович','02020202','12' from dual union all
select 'итого по клиенту' , null,null from dual union all
select 'Санин Александр Петрович','02020202','12' from dual union all
select 'итого по клиенту' , null,null from dual union all
select 'итого по филиалу' , null,null from dual union all
select 'итого по всем филиалам' , null,null from dual )
, надо as (
select '16' as fio,null as doc_number ,null as filial from dual  union all
select 'Иванов Иван Иванович' ,'0101010'  ,'16' from dual  union all
select 'итого по клиенту' , null,null from dual union all
select 'итого по филиалу' , null,null from dual union all
select '12' as fio,null as doc_number ,null as filial from dual  union all
select 'Петров Петр Петрович','02020202','12' from dual union all
select 'итого по клиенту' , null,null from dual union all
select 'Санин Александр Петрович','02020202','12' from dual union all
select 'итого по клиенту' , null,null from dual union all
select 'итого по филиалу' , null,null from dual union all
select 'итого по всем филиалам' , null,null from dual 
)
select *
from есть
union all
(select * from надо minus select * from есть);
5 мар 13, 10:41    [14012547]     Ответить | Цитировать Сообщить модератору
 Re: добавить строки в результирующий набор  [new]
Павел Воронцов
Member

Откуда: Новосибирск
Сообщений: 2386
Блог
NightmanAlex,

Ctrl+C Ctrl+V , доработать рашпилем?

Сформулируйте пожалуйста по другому чего хотите. Чтоб понятно стало.
5 мар 13, 10:44    [14012567]     Ответить | Цитировать Сообщить модератору
 Re: добавить строки в результирующий набор  [new]
Павел Воронцов
Member

Откуда: Новосибирск
Сообщений: 2386
Блог
NightmanAlex,

with a as (select 'Иванов Иван Иванович' as fio,'0101010' as doc_number ,'16' as filial from dual  union all
select 'итого по клиенту' , null,null from dual union all
select 'итого по филиалу' , null,null from dual union all
select 'Петров Петр Петрович','02020202','12' from dual union all
select 'итого по клиенту' , null,null from dual union all
select 'Санин Александр Петрович','02020202','12' from dual union all
select 'итого по клиенту' , null,null from dual union all
select 'итого по филиалу' , null,null from dual union all
select 'итого по всем филиалам' , null,null from dual )
select * from a
union all
select distinct filial as fio, null, null from a where filial is not null


с сортировкой сами разбирайтесь
5 мар 13, 10:50    [14012630]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить