Задавайте вопросы, мы ответим
Вы не зашли.
Запрос, вычисление суммы нарастающим итогом [Решено]
Есть таблица Касса, в которой три поля (дата, приход, расход). Требуется для каждой даты вычислить остаток в кассе с учетом приходов и расходов предыдущих дней.
Отредактированно aliputin (17.03.2010 13:38:50)
Неактивен
Неактивен
Ваш запрос возвращает одну запись. Мне же нужны остатки на каждую дату, т.е. то же число записей.
Неактивен
SELECT @sum := 0;
SELECT `date`, @sum := @sum + income - expenditure AS `sum`
FROM tablename
ORDER BY 1;
Неактивен
paulus
Спасибо, получилось. А как бы это оформить представлением? У меня выдает ошибку: View's SELECT contains a variable or parameter.
Отредактированно aliputin (12.03.2010 08:21:33)
Неактивен
Никак. В определении представления нельзя использовать системные и пользовательские переменные.
Неактивен
Можете оформить хранимой процедурой. Вполне адекватное решение.
Неактивен
Хранимая процедура выдает мне две таблицы: в одной @sum, во второй - то, что нужно. Мне бы только вторую таблицу, без первой. Можно ли сделать это как-нибудь?
Дело в том, что я тяну эти данные в PHP-скрипт. Обычно я работаю с ХП и представлениями, которые выдают одну таблицу. Я не знаю, как работать с результатом в две таблицы.
Отредактированно aliputin (13.03.2010 08:09:14)
Неактивен
Первый SELECT замените на SET @sum := 0 — тогда он не будет возвращать
resultset. А вообще, PHP, вроде бы, умеет вытаскивать несколько результатов
через mysqli.
Неактивен
Спасибо.
Тему можно закрыть.
Неактивен