zoukankan      html  css  js  c++  java
  • 【MySQL】替换件需求

    先上个表结构吧:

    CREATE TABLE `tm_part_replace` (
      `ITEM_ID` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
      `OWNER_CODE` varchar(36) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '-1' COMMENT '经销商代码',
      `PART_NO` varchar(36) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '配件代码(原始)',
      `OPTION_PART_NO` varchar(36) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '替换件代码',
      `SHIFT_DIRECT` int(8) DEFAULT NULL COMMENT '替换方向 10041001单向 10041002双向',
      `IS_DELETED` tinyint(4) DEFAULT NULL COMMENT '逻辑删除 0否 1是',
      `CREATE_AT` datetime DEFAULT NULL COMMENT '创建时间',
      `CREATE_BY` varchar(36) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '创建人',
      `UPDATE_AT` datetime DEFAULT NULL COMMENT '更新时间',
      `UPDATE_BY` varchar(36) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '更新人',
      `RECORD_VERSION` int(11) DEFAULT NULL COMMENT '乐观锁记录',
      PRIMARY KEY (`ITEM_ID`)
    ) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='配件替换件表(确认)';

    配件存在着一些替换关系

    就是配件B可以代替配件A去使用,在需要使用配件A的情况没有配件A,可以使用配件B来代替

    这是一种情况,还有一种情况是,配件A可以替换配件B,配件B也可以替换配件A使用

    那这种替换是双向的,所以就是两种替换情况,单向的和双向的

    零件主表存储了各种零件记录,只取零件代码作为关键字段存储

    替换件和配件存储都是主表的零件代码字段来构成替换关系。

    如果是单向,就只存储一条记录(A -> B)

    如果是双向,就要存储两条记录,表示B也是A的替换件(A -> B + B -> A)

    单向10041001

    双向10041002

    字典数据表示

    导入的数据:

    样本数据用例:

    mysql> SELECT * FROM tm_part_replace;
    +---------+------------+-----------------+-----------------+--------------+------------+-----------+-----------+-----------+-----------+----------------+
    | ITEM_ID | OWNER_CODE | PART_NO         | OPTION_PART_NO  | SHIFT_DIRECT | IS_DELETED | CREATE_AT | CREATE_BY | UPDATE_AT | UPDATE_BY | RECORD_VERSION |
    +---------+------------+-----------------+-----------------+--------------+------------+-----------+-----------+-----------+-----------+----------------+
    |       1 | -1         | TEST-PART-NO-06 | TEST-PART-NO-04 |     10041001 | NULL       | NULL      | NULL      | NULL      | NULL      | NULL           |
    |       2 | -1         | TEST-PART-NO-06 | TEST-PART-NO-03 |     10041002 | NULL       | NULL      | NULL      | NULL      | NULL      | NULL           |
    |       3 | -1         | TEST-PART-NO-03 | TEST-PART-NO-06 |     10041002 | NULL       | NULL      | NULL      | NULL      | NULL      | NULL           |
    |       4 | -1         | TEST-PART-NO-05 | TEST-PART-NO-04 |     10041001 | NULL       | NULL      | NULL      | NULL      | NULL      | NULL           |
    |       5 | -1         | TEST-PART-NO-03 | TEST-PART-NO-04 |     10041002 | NULL       | NULL      | NULL      | NULL      | NULL      | NULL           |
    |       6 | -1         | TEST-PART-NO-04 | TEST-PART-NO-03 |     10041002 | NULL       | NULL      | NULL      | NULL      | NULL      | NULL           |
    +---------+------------+-----------------+-----------------+--------------+------------+-----------+-----------+-----------+-----------+----------------+
    6 rows in set (0.03 sec)
  • 相关阅读:
    linux下activemq安装
    java 线程方法join
    创建线程池
    游标储存过程
    返回结果集的储存过程
    linux 安装 reids 出错解决问题
    IDEAL 集成 jFINAL 问题
    oracle 游标
    oracle procedures
    Linux下安装Tomcat服务器
  • 原文地址:https://www.cnblogs.com/mindzone/p/15503661.html
Copyright © 2011-2022 走看看