Как решить проблему с двумя полями даты и несколькими случаями - PullRequest
0 голосов
/ 14 февраля 2020

У меня есть две таблицы

(CREATE TABLE ta_product_discount_details(
  RowID int(10) NOT NULL AUTO_INCREMENT,
  DiscountID int(11) DEFAULT NULL,
  SKU varchar(50) DEFAULT NULL,
  FromDate date DEFAULT NULL,
  ToDate date DEFAULT NULL,
  Price double DEFAULT,
  Timestamp timestamp NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (RowID)
)

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

Теперь моя проблема заключается в следующем:

Например: в главном списке у меня есть Product1 с дисконтной ценой, которая становится активной между двумя датами (FromDate, ToDate). Все в порядке, безусловно. Но когда я создаю другой список с тем же продуктом, но разными датами, я хочу отключить первый продукт, но проблема заключается в том, что я начинаю проверять даты, которые больше, поэтому цена из этого списка включена. Трудно объяснить все, потому что у нас может быть несколько случаев:

Пример

Что, если первый список будет выглядеть следующим образом

FromDate: 14/14/2020, ToDate: 06/24/2020.

И затем второй список создается следующим образом -

FromDate: 16.02.2020, ToDate: 30.06.2020 .....

и многое другое больше случаев, подобных этому.

Пожалуйста, помогите, если кто-то знает, что мне делать. Кстати, я использую MySQL 5,6.

Ответы [ 2 ]

0 голосов
/ 14 февраля 2020

Да, но когда я вставляю новый продукт, я хочу «отключить» предыдущие цены. И о, я забыл упомянуть, что мне также нужно обновлять цены для каждого рынка. Таким образом, если список создан для Amazon DE, а второй список также для Amazon DE, обновите только цены, относящиеся к списку торговой площадки.

0 голосов
/ 14 февраля 2020

Вы можете создать триггер, который отключит предыдущий продукт при вставке нового продукта того же продукта, но для этого вам, возможно, придется добавить другой столбец, чтобы узнать, какой из них включен или отключен.

...