SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 07.01.2020 01:37:30

sql157
Завсегдатай
Зарегистрирован: 17.03.2016
Сообщений: 97

Как рассчитать "остаток" денег за период?

В MySql имеется таблица - Assignment.

Вопрос.
1. Как сделать чтобы в таблице Assignment поле "Остаток" вычисляло остаток денежных средств за период?
Буду благодарен, если кто-нибудь поможет реализовать решение полностью или хотя бы предоставит описание как это сделать.

CREATE TABLE IF NOT EXISTS "Assignment" (
    "idAssignment" BIGINT(19,0) NOT NULL,
    "idTask" INT(10,0) NULL DEFAULT NULL,
    "idResource" INT(10,0) NULL DEFAULT NULL,
    "DateAssignment" DATETIME2(7) NULL DEFAULT NULL,
    "Cost_EUR" INT(10,0) NULL DEFAULT NULL,
    "Balance" INT(10,0) NULL DEFAULT NULL,
    PRIMARY KEY ("idAssignment")
);

-- Дамп данных таблицы Prb.Assignment: -1 rows
/*!40000 ALTER TABLE "Assignment" DISABLE KEYS */;
INSERT INTO "Assignment" ("idAssignment", "idTask", "idResource", "DateAssignment", "Cost_EUR", "Balance") VALUES
    (1, 1, 1, '2020-01-01 09:00:00.000', 10, NULL),
    (2, 2, 2, '2020-01-01 10:00:00.000', -20, NULL),
    (3, 3, 1, '2020-01-01 11:00:00.000', 30, NULL),
    (4, 4, 2, '2020-01-01 12:00:00.000', -40, NULL),
    (5, 5, 1, '2020-01-02 09:00:00.000', 50, NULL),
    (6, 6, 2, '2020-01-02 10:00:00.000', -60, NULL),
    (7, 7, 1, '2020-01-02 11:00:00.000', 70, NULL),
    (8, 8, 2, '2020-01-02 12:00:00.000', -80, NULL),
    (9, 9, 1, '2020-01-03 09:00:00.000', 90, NULL),
    (10, 10, 2, '2020-01-03 10:00:00.000', -100, NULL),
    (11, 11, 1, '2020-01-03 11:00:00.000', 110, NULL),
    (12, 12, 2, '2020-01-03 12:00:00.000', -120, NULL);

Неактивен

 

#2 18.01.2020 23:57:08

Akina
Участник
Зарегистрирован: 18.01.2020
Сообщений: 1

Re: Как рассчитать "остаток" денег за период?

sql157 написал:

чтобы в таблице Assignment поле "Остаток" вычисляло остаток денежных средств за период

В момент ввода/корректировки данных? триггер...
Иначе - запрос, выполняющий пересчёт. Оконная функция, если версия 8+, или переменные.

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson