Вверх ↑
Ответов: 824
Рейтинг: 138
#1: 2014-02-01 23:08:24 ЛС | профиль | цитата
Доброго времени суток!

Вот и первый вопрос.
Есть таблица "itogi"
idsch_idperiodob_dob_kostДолжно быть в поле "ost"
142012-01-01200 200200
3262012-01-01 200-200-200
442012-02-0150 50250
5262012-02-01 50-50-250
642012-03-0150 50300
7262012-03-01 50-50-300

Нужно в триггере на обновление обновить (рассчитать) поле "ost"
Поле "ost" рассчитывается по такой формуле:
"ost" на начало (предыдущий период) +  "ob_d" (текущий период) - "ob_k" (текущий период) и записать результат в "ost" (текущий период)
по условию, что период больше или равен текущему и равен определенному "sch_id"Вот запос:
update itogi set
ost = ifnull((SELECT ost FROM itogi WHERE date(period) = date('2012-01-01','-1 month') AND sch_id = 4),0) + ifnull(ob_d,0) - ifnull(ob_k,0)
where sch_id = 4 and date(period) >= date('2012-01-01');
Этот запрос не работает :( Чет я не догоняю как это правильно сделать....
------------ Дoбавленo в 21.13:
Наверное такое сделать на стороне базы невозможно. Э-эх...
------------ Дoбавленo в 23.08:
Или вообще не сохранять в базе вычисляемые данные?

карма: 1

0