помогите с select

Витя_а
Дата: 30.05.2006 17:31:47
есть таблица транзакций, столбцы:
date_t - дата транзакции
code - код транзакции
reason - успешна/ неуспешна транзакция (1/0)

нужно получить результат в виде таблицы со столбцами, успешных транзакций:

date_t - дата транзакции
и далее разбивка по кодам транзакций
code_1 - количество транзакций с кодом 1
code_2 - количество транзакций с кодом 2
code_3 - количество транзакций с кодом 3
vsego_uspeh - всего успешных транзакций
percent - процент успешных из всех транзакций
vsego - всего и успешных и нет
dmidek
Дата: 30.05.2006 17:35:44
Как стартовая площадка

FAQ: Транспонирование строк в столбцы
Prosto Maria
Дата: 30.05.2006 17:46:46
select date_t,
sum(decode(code,1,1,0)) Code1,
sum(decode(code,2,1,0)) Code2,
sum(decode(code,3,1,0)) Code3,
Sum(reason) vsego_uspeh_date,
Sum(sign(reason+1)) vsego_date,
sum(Sum(reason)) over () vsego_uspeh ,
Sum(Sum(sign(reason+1))) over() vsego
--percent
from
(select 1 code,TO_DATE('03/01/2006','mm/dd/yyyy') date_t,1 reason from dual
union all
select 1 code,TO_DATE('03/02/2006','mm/dd/yyyy') date_t,1 reason from dual
union all
select 2 code,TO_DATE('03/02/2006','mm/dd/yyyy') date_t,0 reason from dual
union all
select 2 code,TO_DATE('03/02/2006','mm/dd/yyyy') date_t,0 reason from dual
union all
select 3 code,TO_DATE('03/01/2006','mm/dd/yyyy') date_t,1 reason from dual
union all
select 3 code,TO_DATE('03/01/2006','mm/dd/yyyy') date_t,1 reason from dual
) Q
group by date_t
Витя_а
Дата: 31.05.2006 09:42:03
Витя_а
Дата: 31.05.2006 10:52:57
если коды транзакций передается параметром v_code (1,2,3,4,5), количество значений в списке может меняться, например v_code (1,2) или v_code (3,5,7). Как в таком случае реализовать процедуру?
Elic
Дата: 31.05.2006 10:56:48
Витя_а
если коды транзакций передается параметром v_code (1,2,3,4,5), количество значений в списке может меняться, например v_code (1,2) или v_code (3,5,7). Как в таком случае реализовать процедуру?
RTFFAQ Транспонирование строк в столбцы в RefCursor'е
Витя_а
Дата: 31.05.2006 11:12:08
Можно как-то обойтись без создания package, средствами PL/SQL?

Заранее благодарен!
dmidek
Дата: 31.05.2006 11:19:07
Витя_а
Можно как-то обойтись без создания package, средствами PL/SQL?


Что Вы имеете в виду ? Package является средством PL/SQL.
Витя_а
Дата: 31.05.2006 11:27:50
не правильно выразился, можно без Package, а все сделать в одной процедуре?
Elic
Дата: 31.05.2006 11:48:21
Витя_а
можно без Package, а все сделать в одной процедуре?
Можно. Точно так же. Пакет там просто для удобства повторного использования.