Автоматически увеличивая номера счетов, обнуляя каждый месяц - PullRequest
0 голосов
/ 09 декабря 2018

У меня есть проблема, я не знаю, как создать нумерацию счета.Мне бы хотелось, чтобы это работало так:

  1. Я загружаю все счета, которые были оплачены из таблиц счетов, со статусом оплаты OK.
  2. Я загружаю наибольшее число из invoice_orderЯ добавляю к нему +1 и создаю следующие числа, которые означают номера счетов для тех, кто с оплатой = OK
  3. Сохранение новых номеров счетов в таблице invoices / invoice_order
  4. И так каждый разкогда появляются новые оплаченные счета, поэтому в данном месяце существует преемственность

Есть ли у вас какие-либо идеи, как заставить эту работу работать?

1 Ответ

0 голосов
/ 09 декабря 2018

Немного трудно понять вопрос, но я думаю, что вы хотите, чтобы счет-фактура получал последовательный order_number один раз оплаченный либо а), независимо от того, когда он оплачивается ИЛИ б) с номерами, сбрасываемыми каждый месяц.

если A (каждый invoice_order уникален)

UPDATE invoices t1,
       (SELECT MAX(invoice_order)+1 as x FROM invoices WHERE payment = 'OK') t2
SET t1.payment = 'OK', t1.invoice_order = t2.x
WHERE t1.id = INVOICE_TO_BE_UPDATED;

если B (каждый месяц имеет новый набор повторяющихся номеров заказов)

UPDATE invoices t1,
       (SELECT month, year, MAX(invoice_order)+1 as x FROM invoices WHERE payment = 'OK' GROUP BY month, year) t2
SET t1.payment = 'OK', t1.invoice_order = t2.x
WHERE t1.id = INVOICE_TO_BE_UPDATED AND t1.month = t2.month AND t1.year = t2.year;

Fiddle здесь: https://www.db -fiddle.com / ж / ccS723rK7vCjdJBdDihjj6 / 0

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...