Форум программистов, компьютерный форум, киберфорум
Microsoft Access
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.50/8: Рейтинг темы: голосов - 8, средняя оценка - 4.50
0 / 0 / 0
Регистрация: 09.09.2017
Сообщений: 77

SQL запрос с суммой по месяцам и нарастающим итогом

19.05.2024, 15:26. Показов 2934. Ответов 32
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго дня.
Имеется БД Access с полями: ID-клиент,Pay-сумма оплаты,Date-дата оплаты
Следующий запрос выдает суммы оплат клиента по месяцам:
SQL
1
2
3
4
5
6
7
8
9
10
11
SELECT
    YEAR([ Pay_Date ]) AS [ YEAR ],
    MONTH([ Pay_Date ]) AS [ MONTH ],
    SUM(Abonent_Pay) AS Total
FROM
    Payment
WHERE
    ID = 555000555
GROUP BY
    YEAR([ Pay_Date ]),
    MONTH([ Pay_Date ])
Хочу добавить столбец выводящий накопительный итог по столбцу Total.
Пробую:
SQL
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
SELECT
    YEAR([ T1.Pay_Date ]) AS [ YEAR ],
    MONTH([ T1.Pay_Date ]) AS [ MONTH ],
    SUM(T1.Abonent_Pay) AS Total,
    (
    SELECT
        SUM(T2.Abonent_Pay)
    FROM
        Payment AS T2
    WHERE
        T2.[ MONTH ] <= T1.[ MONTH ]
) AS Сumulative
FROM
    Payment AS T1
WHERE
    T1.ID = 555000555
GROUP BY
    YEAR([ T1.Pay_Date ]),
    MONTH([ T1.Pay_Date ])
Не работает. Access предлагает ввести значение параметра T2.Month.
Прошу помощи. Где я ошибку делаю? Это уже n-ный вариант.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
19.05.2024, 15:26
Ответы с готовыми решениями:

Запрос с нарастающим итогом
Добрый день, уважаемые форумчане. Может подскажете, как рассчитать значения через нарастающий итог, без курсоров. Есть отсортированная...

Запрос с нарастающим итогом в access
Доброго времени суток всем. Помогите, пожалуйста, решить такую проблему: Есть таблица (наименование сырья, дата, расход сырья) ...

Отчет с нарастающим итогом
Добрый день, формирую отчет с нарастающими итогами по количеству и по сумме. Отчет формируется корректно в том плане, что по контрагентам...

32
0 / 0 / 0
Регистрация: 09.09.2017
Сообщений: 77
21.05.2024, 20:23  [ТС]
Студворк — интернет-сервис помощи студентам
запрос с замашками на уровень "параноик".
Что за наНмес и наКмес?
Почему нельзя обойтись работай с одной таблицей?
0
598 / 404 / 51
Регистрация: 06.03.2022
Сообщений: 2,129
21.05.2024, 21:46
adonix100,
Цитата Сообщение от adonix100 Посмотреть сообщение
Что за наНмес и наКмес?
-ответьте на простой вопрос:нарастающий итог на начало месяца или на конец (тогда и поймете почему наНмес\начало месяца и наКмес\конец месяца
Цитата Сообщение от adonix100 Посмотреть сообщение
Почему нельзя обойтись работай с одной таблицей?
-имеются ДВЕ сущности-клиенты и оплата-"лепить"\хранить их в ОДНОЙ таблице есть грубейшее нарушение правил нормализации (НФ есть "священная корова" ACCESSа)
Цитата Сообщение от adonix100 Посмотреть сообщение
запрос с замашками на уровень "параноик".
-сильно,однако, Ваше высоко-высоко благородие, огромное Вам спасибо за критику.

Не по теме:

Замечу, что я не сторонник выдачи готового решения-предпочитаю лишь обозначить направление. Хочется чтоб ТС немного "морщил" лоб, т.к. без этого навряд-ли чему-то можно научиться...Именно поэтому в запросе есть лишние\не необходимые поля. ТС пусть сам решает что ему нужно, а что нет(а некоторые поля убирать нельзя-запрос "поломается",некоторые можно убрать без каких либо последствий..)

0
Мы один, давай на "ты"
3858 / 1400 / 348
Регистрация: 16.06.2016
Сообщений: 3,300
22.05.2024, 04:43
Цитата Сообщение от SDKU Посмотреть сообщение
имеются ДВЕ сущности-клиенты и оплата-"лепить"\хранить их в ОДНОЙ таблице есть грубейшее нарушение правил нормализации
а там две? (у ТС)
Цитата Сообщение от SDKU Посмотреть сообщение
НФ есть "священная корова" ACCESSа
тяжёлый случай...
0
598 / 404 / 51
Регистрация: 06.03.2022
Сообщений: 2,129
22.05.2024, 10:23
Цитата Сообщение от adonix100 Посмотреть сообщение
Имеется БД Access с полями: ID-клиент,Pay-сумма оплаты,Date-дата оплаты
А разве это не предполагает справочник [клиенты]?
И если зто не так, то все про НФ в равной степени относится и к ТСу
0
Мы один, давай на "ты"
3858 / 1400 / 348
Регистрация: 16.06.2016
Сообщений: 3,300
22.05.2024, 10:58
SDKU, для начала - обращайся по нику, чтобы видеть твоё сообщение...
Цитата Сообщение от SDKU Посмотреть сообщение
А разве это не предполагает справочник [клиенты]?
а причем тут "клиент"? а если сферические кони в вакууме будут? просили всего лишь запрос на группировку.

Или ты как тот студент из анекдота, который выучил на экзамен только строение блохи?
0
Модератор
Эксперт MS Access
6231 / 2909 / 707
Регистрация: 12.06.2016
Сообщений: 7,839
22.05.2024, 11:08
Цитата Сообщение от adonix100 Посмотреть сообщение
Работает, но запрос мне не нравится, как то "топорно". хотелось бы по другому.
А так?

SQL
1
2
3
4
5
6
SELECT T1.ID, YEAR(T1.Pay_Date) AS [YEAR], MONTH(T1.Pay_Date) AS [MONTH], 
       SUM(T1.Abonent_Pay) AS Total, 
       (SELECT SUM(Abonent_Pay) FROM Payment WHERE ID=T1.ID AND Format(Pay_Date,"yyyymm")<=Format(T1.Pay_Date,"yyyymm")) AS itog
FROM Payment AS T1
WHERE T1.ID=555000555
GROUP BY T1.ID, YEAR(T1.Pay_Date), MONTH(T1.Pay_Date), Format(T1.Pay_Date,"yyyymm")
или так:

SQL
1
2
3
4
5
SELECT T1.ID, CInt(LEFT(Format(Pay_Date,"yyyymm"),4)) AS [YEAR], CInt(RIGHT(Format(Pay_Date,"yyyymm"),2)) AS [MONTH], 
       SUM(T1.Abonent_Pay) AS Total, (SELECT SUM(Abonent_Pay) FROM Payment WHERE ID=T1.ID AND Format(Pay_Date,"yyyymm")<=Format(T1.Pay_Date,"yyyymm")) AS itog
FROM Payment AS T1
WHERE T1.ID=555000555
GROUP BY T1.ID, Format(T1.Pay_Date,"yyyymm")
0
Эксперт MS Access
 Аватар для alvk
7459 / 4592 / 302
Регистрация: 12.08.2011
Сообщений: 14,383
22.05.2024, 12:07
Цитата Сообщение от Панург Посмотреть сообщение
тяжёлый случай...
Не нравится - не ешь. Человек в лифте спустился, не постеснялся. Я бы не стал конечно так формулировать, но кто сейчас знает, что такое РСУБД?
0
Мы один, давай на "ты"
3858 / 1400 / 348
Регистрация: 16.06.2016
Сообщений: 3,300
22.05.2024, 12:17
Цитата Сообщение от alvk Посмотреть сообщение
Не нравится - не ешь. Человек в лифте спустился, не постеснялся. Я бы не стал конечно так формулировать, но кто сейчас знает, что такое РСУБД?
какое это имеет отношение к теме?
Или так, позвиздеть собрались? Можешь обратно подняться...
0
598 / 404 / 51
Регистрация: 06.03.2022
Сообщений: 2,129
22.05.2024, 12:51
Цитата Сообщение от Панург Посмотреть сообщение
а причем тут "клиент"? а если сферические кони в вакууме будут?
Тогда справочник про сферических коней...
Представляю разговор сотрудников некой финансовой организации:
-Коль глянь в своей БД платежи с начала года клиента (взгляд на потолок) с ID 256
-Щас гляну


Выкиньте таблицу клиенты,замените везде ссылки [клиенты].[кодК] на [оплаты].[клиент] и будет запрос на одной таблице
НФ при этом так и останется "священной коровой"
Цитата Сообщение от alvk Посмотреть сообщение
но кто сейчас знает, что такое РСУБД?
1
Мы один, давай на "ты"
3858 / 1400 / 348
Регистрация: 16.06.2016
Сообщений: 3,300
22.05.2024, 13:41
SDKU, для чего весь этот поток сознания в данной теме?

Добавлено через 8 минут

Не по теме:

Цитата Сообщение от SDKU Посмотреть сообщение
НФ при этом так и останется "священной коровой"
Не делайте из еды нормальных форм культа! (О. Бендер)
Ими (НФ) нужно пользоваться, как инструментом, но без фанатизма!
И уж не стоит пихать в каждую тему

0
Эксперт MS Access
 Аватар для alvk
7459 / 4592 / 302
Регистрация: 12.08.2011
Сообщений: 14,383
23.05.2024, 02:36
Цитата Сообщение от Панург Посмотреть сообщение
этот поток сознания
этот?
Цитата Сообщение от Панург Посмотреть сообщение
какое это имеет отношение к теме?
Или так, позвиздеть собрались?
Ну что, позвиздел?
Без Нормальных Форм Акцесс не РСУБД, а дурными советами сам следуй.
p.s. вот и я до твоего этажа спустился.
1
23.05.2024, 06:27

Не по теме:

alvk,такое ощущение, что ты не спустился, а звезданулся, причём с Луны - перечитай ещё раз заглавный пост

всё, утомил своей... прямолинейностью

0
598 / 404 / 51
Регистрация: 06.03.2022
Сообщений: 2,129
23.05.2024, 10:29
Цитата Сообщение от adonix100 Посмотреть сообщение
Имеется БД Access с полями: ID-клиент,Pay-сумма оплаты,Date-дата оплаты
Читай-нечитай: БД с полями не бывает-с полями бывают таблицы (на некорректно заданный вопрос нельзя дать корректный ответ). НФ же всегда были правилами/требованиями (а не инструментом) которые либо соблюдаются, либо не соблюдаются и когда они не соблюдаются это исключительный случай при решении очень специфических задач с четким пониманием разработчиком причин этого, а не как у начинающих-нарушение правил абсолютно без надобности/понимания и вопрос: " а как сделать...?, хотя основополагающее правило уже нарушено и создание чего-то путного не возможно в принципе (как говорится поздно пить "Боржом", если печень отвалилась.)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
23.05.2024, 10:29

Сумма нарастающим итогом
Есть таблица с продажами по клиентам. id oper_data typ_operation_id Partner sum_acount_cur 1 01.06.22 111 Alfa 100 ...

Посчитать последовательность нарастающим итогом
Добрый вечер! У меня возникла проблема с vba. Существует какая-то последовательность чисел (например 1,2,3,4,5) Необходимо написать их...

Свод нарастающим итогом из нескольких листов
Здравствуйте, уважаемые программисты!!! Очень нужна Ваша помощь!!!! Есть файл Excel, каждый лист соответствует месяцу. На листе отражены...

Остаток (приход-списано) нарастающим итогом по дате
Привет всем, что то запутался с простым вопросом на mysql. Подскажите пожалуйста как организовать остаток нарастающим итогом. Есть...

Форма с таблицей в которой поле считается нарастающим итогом
Поле СОСТОИТ сущности ДВИЖЕНИЕ должно считаться как СОСТОИТ_ПРЕДЫДУЩЕЕ + ПРИБЫЛО - УБЫЛО и так для каждой записи. Форма должна быть строго...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
33
Ответ Создать тему
Новые блоги и статьи
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман. Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru