Как вставить в базу данных последний день месяца перед новой месячной транзакцией
Date next date. Qty. Item1. Item2 2020-08-01. 2020-08-15. 2. 1. 1 2020-08-15. 2020-08-28. 3. 1. 2 2020-08-28. ???? 2020-09-01
Вставьте последний день предыдущего месяца перед вставкой нового месяца в БД.
Select distinct t1.AccNo,t1.in date,ifnull((select min(t1.min.in date) from t1 as t1min where t1min.in date>t1.in date and t1.AccNo = t1min.AccNo), Date(t1.in date,'start of month', '+1 month', '0 day')) as nextdate
Что я уже пробовал:
Я не знаю, с чего начать. БД получает свои данные из формы 1. Который вставляется в t1. Запрос create в sqlite делает следующую дату, чтобы я мог вычислить количество дней между каждой следующей датой и зарядкой за дни.
j snooze
как правило, вы можете просто взять 1-й день следующего месяца и вычесть день, чтобы получить последний день любого конкретного месяца. в c# вы можете взять дату 9/1 и сделать a .AddDays(-1) для объекта DateTime.
Member 14563525
ОК. Мое извинение. Следующая сделка на новый месяц может быть на 2020-09-05. Запрос автоматически примет эту дату за следующую дату, которая тогда будет неправильной .например, в приведенном выше с 28/8 по 31/08-это 4 дня найма. Мне нужно автоматически вставить следующую дату в последнюю транзакцию за предыдущий месяц в качестве последней даты этого месяца перед тем, как новая попадет в БД.
Richard MacCutchan
Итак, возьмите введенную дату, установите день равным 1 и вычтите 1. Это даст вам последний день предыдущего месяца.
Member 14563525
Это не сработает. Какая-то сделка состоится 06 числа следующего месяца.
На данный момент принудительный месячный прогон проводится со всеми клиентами с нулевой продажей бала. Вот тогда и наступает последний день. Плата за обслуживание взимается за каждый день использования. Так что если у него было 10 предметов на 15/08, то он будет заряжен на 15 дней до 15-го тая. Но 16 - го числа он вернул 4 из этих предметов . Так что 16 - го числа ему будет предъявлено обвинение по 6 пунктам. И в последний день месяца он должен быть за этот месяц иначе дни начисленные в конце месяца будут неправильными
Richard MacCutchan
Итак, добавьте 1 к месяцу, установите день равным 1 и вычтите 1 из числа дней. Как бы вы на это ни смотрели, это всего лишь пара простых утверждений.
Member 14563525
Где бы я это сделал? В форме, когда дата больше последней даты или выполняется хранимая процедура в поле Дата изменения.
Richard MacCutchan
Я не знаю, так как ничего не знаю о вашем заявлении. Но это должно быть простым делом для вас, чтобы выяснить.