我有一个名为的表PRODUCTS,每个表PRODUCT_NO_REGISTRATION_NO只允许使用一次,即产品开始日期和退货日期不应冲突。
我们退回产品并输入退货日期ACTUAL_RETURN_DATE,如果ACTUAL_RETURN_DATE为空,我们将END_DATE其作为退货日期。
你可以在这里看到记录
例如PRODUCT_NO_REGISTRATION_NO is clashing, as HP_2014 is returned on 18-Jun-2001, however HP_2012 same PRODUCT_NO_REGISTRATION_NO is allotted on 18-Jun-2001.
如何使用 sql 找出记录是否重叠?
更新 1
表中进行了修改PRODUCTS以包含PRODUCT_EXTENSION_NO. 的组合PRODUCT_NO,PRODUCT_NO_REGISTRATION_NO and PRODUCT_EXTENSION_NO成为唯一的行(复合主键)。
规则如下 每个PRODUCT_NO_REGISTRATION_NO只允许使用一次,即产品开始日期和退货日期不应冲突。
我们退回产品并输入退货日期ACTUAL_RETURN_DATE,如果ACTUAL_RETURN_DATE为空,我们将END_DATE其作为退货日期。
PRODUCT_NO有扩展,所以END_DATE是扩展的。
例如,如果您看到记录
PRODUCT_NO- ORP76with PRODUCT_EXTENSION_NO-与- with -1发生冲突。PRODUCT_NOORP100PRODUCT_EXTENSION_NO0
如何使用 sql 找出记录是否重叠,PRODUCT_NO但是否允许扩展。ie PRODUCT_NO ORP76with extension0和extension 1基本上都是扩展的。