Помогите - очень хитрый запрос

Perederiy
Дата: 13.09.2004 10:17:42
Есть таблица
год,месяц,дебет,кредит,сумма

Необходимо сделать запрос
дебет,кредит,Сумма по дебету+кредиту за месяц,Сумма по дебету+кредиту с начала года

Причем может быть ситуация - запись была в январе,но в июне такой записи нет,месяц запроса июнь

Причем надо это сделать в одном запросе (для отчета)
igor2222
Дата: 13.09.2004 14:17:07
Поподробнее плиз
Что значат поля дебет, кредит?
Это просто суммы или это ID проводок?
Если запись была в январе и ее нужно учесть в июле- учесть ее нужно в поле Сумма по дебету+кредиту за месяц?
Perederiy
Дата: 13.09.2004 14:26:43
дебет,кредит - это ID счетов в проводках
Если была в январе - за июль месяц не учитывать - учесть с начала года
igor2222
Дата: 13.09.2004 14:38:19
select a.debet, a.kredit,
sum (case when a.god=:god and a.mes=:mes then a.suma else 0 end),
sum (case when a.god=:god then a.suma else 0 end)
from table1 as a
group by a.debet, a.kredit

Или что значит сумма по дебету+кредиту?
Тогда надо выводить просто выводить (ID debet or ID kredit), sum1, sum2 ?
Perederiy
Дата: 13.09.2004 15:40:19
Получается сумма с начала года равной сумме за текущий месяц
mwolf
Дата: 13.09.2004 15:53:04
А я всё равно ничего не понял, что надо то?

Есть - Таблица - год,месяц,дебет,кредит,сумма
Надо - Отчёт - дебет,кредит,Сумма за месяц,Сумма с начала года

А по чём группировать то?
Если по году и месяцу, то эти поля надо включать в отчёт. Так?
И если так, то в какой последовательности группировать?
дебет,кредит,год,месяц?
год,месяц,дебет,кредит?
Уточняй ...
igor2222
Дата: 13.09.2004 16:10:52
автор
Получается сумма с начала года равной сумме за текущий месяц

Так не бывает
Чтоб было понятнее:

select a.debet, a.kredit,
sum (case when a.mes=:mes then a.suma else 0 end),
sum (a.suma)
from table1 as a
where a.god=:god
group by a.debet, a.kredit

Здесь :mes -условие - текущий отчетный месяц
Perederiy
Дата: 13.09.2004 17:34:43
mwolf
А я всё равно ничего не понял, что надо то?

Есть - Таблица - год,месяц,дебет,кредит,сумма
Надо - Отчёт - дебет,кредит,Сумма за месяц,Сумма с начала года

А по чём группировать то?
Если по году и месяцу, то эти поля надо включать в отчёт. Так?
И если так, то в какой последовательности группировать?
дебет,кредит,год,месяц?
год,месяц,дебет,кредит?
Уточняй ...


ПО год,месяц,дебет,кредит
igor2222
Дата: 13.09.2004 17:41:35
автор
ПО год,месяц,дебет,кредит

А я как написал?
mwolf
Дата: 14.09.2004 16:37:25
SELECT a.year, a.month, a.debet, a.kredit, sum(a.summ), b.y_summ
FROM table1 a
  (SELECT
    year,
    debet,
    kredit,
    sum (summ) as y_summ
  FROM table1
  GROUP BY year, debet, kredit) b
WHERE
  a.year = b.year
  AND  a.debet = b.debet
  AND a.kredit = bkredit
GROUP BY a.year, a.month, a.debet, a.kredit, b.y_summ
Всё равно не совсем понятно.
запись была в январе,но в июне такой записи нет,месяц запроса июнь
???