On Mon, 15 Oct 2007 13:23:19 +0400, Игорь Горбонос <[EMAIL PROTECTED]> wrote:
Так что ли?
select gp.group_pays, cp.class_pays, yp.naznachenie_pay,
sum(case when extract(month from yp.date_pay) = 1 then
coalesce(yp.summa_pay, 0.00) else 0.00 end),
sum(case when extract(month from yp.date_pay) = 2 then
coalesce(yp.summa_pay, 0.00) else 0.00 end),
sum(case when extract(month from yp.date_pay) = 3 then
coalesce(yp.summa_pay, 0.00) else 0.00 end),
sum(case when extract(month from yp.date_pay) = 4 then
coalesce(yp.summa_pay, 0.00) else 0.00 end),
sum(case when extract(month from yp.date_pay) = 5 then
coalesce(yp.summa_pay, 0.00) else 0.00 end),
sum(case when extract(month from yp.date_pay) = 6 then
coalesce(yp.summa_pay, 0.00) else 0.00 end),
sum(case when extract(month from yp.date_pay) = 7 then
coalesce(yp.summa_pay, 0.00) else 0.00 end),
sum(case when extract(month from yp.date_pay) = 8 then
coalesce(yp.summa_pay, 0.00) else 0.00 end),
sum(case when extract(month from yp.date_pay) = 9 then
coalesce(yp.summa_pay, 0.00) else 0.00 end),
sum(case when extract(month from yp.date_pay) = 10 then
coalesce(yp.summa_pay, 0.00) else 0.00 end),
sum(case when extract(month from yp.date_pay) = 11 then
coalesce(yp.summa_pay, 0.00) else 0.00 end),
sum(case when extract(month from yp.date_pay) = 12 then
coalesce(yp.summa_pay, 0.00) else 0.00 end)
from group_pays gp
join class_pays cp on gp.id = cp.ref_groups_pays
left join year_pay yp on yp.group_pays = gp.id and yp.filial =
'Название филиала'
group by gp.group_pays, cp.class_pays, yp.naznachenie_pay
Писал из головы, возможно, требуется напильник.
--
Сергей Смирнов.