如何解决两个日期字段和多个个案的问题

问题描述 投票:0回答:1

我有两个桌子

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:02/14/2020,ToDate:06/24/2020。然后像这样创建第二个列表-FromDate:02/16/2020,ToDate:06/30/2020 .....以及更多类似的案例。如果有人知道我该怎么办,请提供帮助。

顺便说一句,我正在使用MySQL 5.6。

mysql date-range
1个回答
0
投票
您可以创建触发器,以在插入相同产品的新产品时禁用先前的产品,但是为此,您可能必须添加另一列以了解启用或禁用了哪个产品。
© www.soinside.com 2019 - 2024. All rights reserved.