0
点赞
收藏
分享

微信扫一扫

MySql union 连接使用

那小那小 2022-02-17 阅读 143

昨天一个需求写了一天的SQL 终于在同事的提醒下解决了这个问题
简而言之需求是:
请添加图片描述请添加图片描述
合成这样的表格(是这种格式,数据有误,用了后面方法就对了,这是少数据的)
请添加图片描述
类似于 工号,年份,季度合起来,一个是工作能力, 一个是工作理念,需要同一年份季度工号的变成一条,其他的变成独立一条

说下思路: 就是上面两个表格,一个左连接 ,一个右连接,然后最后用union 连接
union 可以去重, union all 是保留所有字段

(select * from work_ability left join work_philosophy )
union
(select * from work_ability right join work_philosophy )

其中上面和下面字段要一致

给一些我的表: 工作能力表

SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;

DROP TABLE IF EXISTS `work_ability`;
CREATE TABLE `work_ability`  (
  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'id',
  `years` int(4) NULL DEFAULT NULL COMMENT '年限',
  `job_id` int(11) NULL DEFAULT NULL COMMENT '员工工号',
  `work_quarter` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '季度',
  `code_synchronization` int(3) NULL DEFAULT NULL COMMENT '代码同步',
  `code_case` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '代码同步案例',
  `self_test` int(3) NULL DEFAULT NULL COMMENT '自我测试',
  `test_case` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '测试案例',
  `task_execution` int(3) NULL DEFAULT NULL COMMENT '任务执行',
  `task_case` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '任务执行案例',
  `code_quality` int(3) NULL DEFAULT NULL COMMENT '代码质量',
  `quality_case` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '代码质量案例',
  `solve_problem` int(3) NULL DEFAULT NULL COMMENT '解决问题',
  `problem_case` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '解决问题案例',
  `quality_work_report` int(3) NULL DEFAULT NULL COMMENT '工作报告质量',
  `work_report_case` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '工作报告质量案例',
  `is_delete` tinyint(1) NULL DEFAULT 0 COMMENT '是否删除',
  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `update_time` datetime NULL DEFAULT NULL COMMENT '修改时间',
  PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 13 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;

-- ----------------------------
-- Records of work_ability
-- ----------------------------
INSERT INTO `work_ability` VALUES (1, 2021, 1, '4', 80, 'sdfasdf', 90, 'asdf', 80, 'dfa', 88, 'asdfa', 89, 'sdfasdf', 99, 'asdf', 0, '2022-01-13 09:42:06', '2022-01-13 09:42:06');
INSERT INTO `work_ability` VALUES (3, 2021, 1, '3', 89, 'sdfasdf', 77, 'asdf', 99, 'dfa', 99, 'asdfa', 99, 'sdfasdf', 99, 'asdf', 0, '2022-01-13 09:46:13', '2022-02-14 16:29:25');
INSERT INTO `work_ability` VALUES (4, 2021, 1, '2', 80, 'sdfa', 80, 'sdfa', 80, 'dfa', 80, 'sdfa', 80, 'sdfa', 80, 'sdfa', 0, '2022-02-12 17:26:02', '2022-02-12 17:26:02');
INSERT INTO `work_ability` VALUES (5, 2021, 1, '1', 80, 'sdfa', 80, 'sdfa', 80, 'sdfa', 80, 'sdfa', 80, 'sdfa', 80, 'sdfa', 0, '2022-02-14 14:12:34', '2022-02-14 14:12:34');
INSERT INTO `work_ability` VALUES (7, 2025, 42, '2', 80, 'sdfa', 80, 'sdfa', 80, 'sdfa', 80, 'sdfa', 80, 'sdfa', 80, 'sdfa', 0, '2022-02-16 15:13:16', '2022-02-16 15:13:16');
INSERT INTO `work_ability` VALUES (8, 2028, 42, '2', 80, 'sdfa', 80, 'sdfa', 80, 'sdfa', 80, 'sdfa', 80, 'sdfa', 80, 'sdfa', 0, '2022-02-16 15:13:21', '2022-02-16 15:13:21');
INSERT INTO `work_ability` VALUES (9, 2025, 41, '2', 80, 'sdfa', 80, 'sdfa', 80, 'sdfa', 80, 'sdfa', 80, 'sdfa', 80, 'sdfa', 0, '2022-02-16 15:15:58', '2022-02-16 15:15:58');
INSERT INTO `work_ability` VALUES (10, 2023, 41, '2', 80, 'sdfa', 80, 'sdfa', 80, 'sdfa', 80, 'sdfa', 80, 'sdfa', 80, 'sdfa', 0, '2022-02-16 15:16:04', '2022-02-16 15:16:04');
INSERT INTO `work_ability` VALUES (12, 2021, 16, '2', 80, 'sdfa', 80, 'sdfa', 80, 'sdfa', 80, 'sdfa', 80, 'sdfa', 80, 'sdfa', 0, '2022-02-16 20:27:40', '2022-02-16 20:27:40');

SET FOREIGN_KEY_CHECKS = 1;

工作理念表

SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;

DROP TABLE IF EXISTS `work_philosophy`;
CREATE TABLE `work_philosophy`  (
  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'id',
  `years` varchar(4) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '年限',
  `work_quarter` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '工作季度',
  `teamwork` int(3) NULL DEFAULT NULL COMMENT '团队协作',
  `team_case` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '团队协作案例',
  `dedicated` int(3) NULL DEFAULT NULL COMMENT '敬业',
  `dedicated_case` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '敬业案例',
  `service_consciousness` int(3) NULL DEFAULT NULL COMMENT '服务意识',
  `service_case` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '服务案例',
  `work_change` int(3) NULL DEFAULT NULL COMMENT '工作拥抱变化',
  `change_case` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '拥抱变化案例',
  `is_delete` tinyint(1) NULL DEFAULT 0 COMMENT '是否删除',
  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `update_time` datetime NULL DEFAULT NULL COMMENT '修改时间',
  `job_id` int(11) NULL DEFAULT NULL COMMENT '员工工号',
  PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 15 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;

INSERT INTO `work_philosophy` VALUES (1, '2021', '3', 88, 'sdfsf', 90, 'sdfsdf', 78, 'sdfasdf', 88, 'sadfasdf', 0, '2022-01-13 11:46:14', '2022-02-14 16:29:08', 1);
INSERT INTO `work_philosophy` VALUES (4, '2021', '2', 79, 'sdfs', 90, 'sdfs', 78, 'sdfs', 99, 'sdfsdf', 0, '2022-02-12 16:00:00', '2022-02-14 16:29:19', 1);
INSERT INTO `work_philosophy` VALUES (5, '2021', '1', 80, 'sdfs', 90, 'sdfs', 78, 'sdfs', 99, 'sdfsdf', 0, '2022-02-12 16:00:00', '2022-02-12 16:00:00', 1);
INSERT INTO `work_philosophy` VALUES (6, '2021', '4', 80, 'sdfs', 90, 'sdfs', 78, 'sdfs', 99, 'sdfsdf', 0, '2022-02-12 16:19:56', '2022-02-12 16:19:56', 1);
INSERT INTO `work_philosophy` VALUES (9, '2025', '2', 80, 'sdfs', 90, 'sdfs', 78, 'sdfs', 99, 'sdfsdf', 0, '2022-02-16 15:12:58', '2022-02-16 15:12:58', 42);
INSERT INTO `work_philosophy` VALUES (10, '2024', '3', 80, 'sdfs', 90, 'sdfs', 78, 'sdfs', 99, 'sdfsdf', 0, '2022-02-16 15:13:06', '2022-02-16 15:13:06', 42);
INSERT INTO `work_philosophy` VALUES (11, '2021', '1', 80, 'sdfs', 90, 'sdfs', 78, 'sdfs', 99, 'sdfsdf', 0, '2022-02-16 15:15:50', '2022-02-16 15:15:50', 41);
INSERT INTO `work_philosophy` VALUES (12, '2021', '3', 80, 'sdfs', 90, 'sdfs', 78, 'sdfs', 99, 'sdfsdf', 0, '2022-02-16 20:27:24', '2022-02-16 20:27:24', 16);
INSERT INTO `work_philosophy` VALUES (13, '2024', '3', 80, 'sdfs', 90, 'sdfs', 78, 'sdfs', 99, 'sdfsdf', 0, '2022-02-16 20:27:29', '2022-02-16 20:27:29', 16);
INSERT INTO `work_philosophy` VALUES (14, '2023', '3', 80, 'sdfs', 90, 'sdfs', 78, 'sdfs', 99, 'sdfsdf', 0, '2022-02-16 20:27:32', '2022-02-16 20:27:32', 16);

SET FOREIGN_KEY_CHECKS = 1;

员工信息表

SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;

DROP TABLE IF EXISTS `easy_info`;
CREATE TABLE `easy_info`  (
  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'id',
  `name` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '姓名',
  `sex` tinyint(1) NULL DEFAULT NULL COMMENT '性别(0是女,1是男)',
  `id_card` char(18) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '身份证',
  `permanent_address` varchar(500) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '户籍地址',
  `now_address` varchar(500) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '现居地址',
  `phone` char(11) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '电话',
  `email` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '邮箱',
  `emergency_contact` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '紧急联系人',
  `emergency_contact_phone` char(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '紧急联系人电话',
  `payroll_card` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '工资卡',
  `alipay` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '支付宝账号',
  `is_deleted` tinyint(1) NULL DEFAULT 0 COMMENT '0否 1是删除',
  `create_time` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `job_name` int(4) UNSIGNED ZEROFILL NULL DEFAULT NULL COMMENT '工号',
  `start_time` datetime NULL DEFAULT NULL COMMENT '入职时间',
  `department_id` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '部门',
  `position_id` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '职位',
  `organization_id` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '组织',
  `update_time` datetime NULL DEFAULT NULL COMMENT '最新跟进日期',
  `rich_text` longtext CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '富文本内容',
  `confirmation_time` datetime NULL DEFAULT NULL COMMENT '转正日期',
  `leave_date` datetime NULL DEFAULT NULL COMMENT '离职日期',
  `is_leaved` tinyint(1) NULL DEFAULT 0 COMMENT '0否 1是删除',
  PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 58 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;

-- ----------------------------
-- Records of easy_info
-- ----------------------------
INSERT INTO `easy_info` VALUES (1, '雷克顿', 1, '330106111110101111', '浙江省杭州市西湖区方塔北路334号青龙学院', '浙江省杭州市西湖区冰河支路443号五菱小区', '11566484551', '1343824172@qq.com', '内瑟斯', '78811545221', '6217000490000315744', '62170004900', 0, '2022-01-11 16:25:03', 0001, '1999-10-10 00:00:00', '110', '1', '2', '2022-02-14 16:31:12', NULL, '2022-01-18 00:00:00', '2022-02-15 00:00:00', 1);
INSERT INTO `easy_info` VALUES (2, '萨科', 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, '2022-01-11 16:32:55', 0003, '1999-10-10 08:00:00', '111', '2', '2', '2022-01-04 16:18:46', NULL, '2022-01-18 17:45:07', NULL, 0);
INSERT INTO `easy_info` VALUES (3, '乐芙兰', 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, '2022-01-12 09:58:37', 0004, '1999-10-10 08:00:00', '112', '4', '2', '2022-01-12 09:58:37', NULL, '2022-01-18 17:45:07', NULL, 0);
INSERT INTO `easy_info` VALUES (4, '卡特琳娜', 1, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, '2022-01-12 10:01:43', 0005, '1999-10-10 08:00:00', '203', '5', '2', '2022-01-12 10:01:43', NULL, '2022-01-18 17:45:07', NULL, 0);
INSERT INTO `easy_info` VALUES (8, '艾尼维亚', 1, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, '2022-01-12 13:46:36', 0006, '1999-10-10 08:00:00', '111', '4', '2', '2022-01-12 13:46:36', NULL, '2022-01-18 17:45:07', NULL, 0);
INSERT INTO `easy_info` VALUES (9, '厄加特', 0, NULL, NULL, NULL, '', '123123@qq.com', NULL, NULL, NULL, NULL, 0, '2022-01-12 13:51:46', 0039, '1999-10-10 08:00:00', '204', '1', '2', '2022-01-12 13:51:46', 'fuwenben', '2022-01-18 17:45:07', NULL, 0);
INSERT INTO `easy_info` VALUES (10, '拉莫斯', 1, NULL, NULL, NULL, '', '123123@qq.com', NULL, NULL, NULL, NULL, 0, '2022-01-12 13:51:46', 0007, '1999-10-10 08:00:00', '203', '2', '1', '2022-01-12 13:51:46', 'fuwenben', '2022-01-18 17:45:07', NULL, 0);
INSERT INTO `easy_info` VALUES (11, '阿利斯塔', 1, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, '2022-01-12 13:46:36', 0008, '1999-10-10 08:00:00', '111', '5', '1', '2022-01-12 13:46:36', NULL, '2022-01-18 17:45:07', NULL, 0);
INSERT INTO `easy_info` VALUES (12, '奈德丽', 1, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, '2022-01-12 13:46:36', 0009, '1999-10-10 08:00:00', '204', '4', '2', '2022-01-12 13:46:36', NULL, '2022-01-18 17:45:07', NULL, 0);
INSERT INTO `easy_info` VALUES (13, '克格莫', 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, '2022-01-12 13:46:36', 0010, '1999-10-10 08:00:00', '112', '5', '1', '2022-01-12 13:46:36', NULL, '2022-01-18 17:45:07', NULL, 0);
INSERT INTO `easy_info` VALUES (14, '内瑟斯', 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, '2022-01-12 13:46:36', 0011, '1999-10-10 08:00:00', '203', '2', '2', '2022-01-12 13:46:36', NULL, '2022-01-18 17:45:07', NULL, 0);
INSERT INTO `easy_info` VALUES (15, '墨菲特', 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, '2022-01-12 13:46:36', 0012, '1999-10-10 08:00:00', '112', '5', '2', '2022-01-12 13:46:36', NULL, '2022-01-18 17:45:07', NULL, 0);
INSERT INTO `easy_info` VALUES (16, '黑默丁格', 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, '2022-01-12 13:46:36', 0013, '1999-10-10 08:00:00', '204', '5', '1', '2022-01-12 13:46:36', NULL, '2022-01-18 17:45:07', NULL, 0);
INSERT INTO `easy_info` VALUES (17, '萨科', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, '2022-01-11 16:32:55', 0014, '1999-10-10 08:00:00', '111', '1', '2', '2022-01-04 16:18:46', NULL, '2022-01-18 17:45:07', NULL, 0);
INSERT INTO `easy_info` VALUES (18, '萨科', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, '2022-01-11 16:32:55', 0015, '1999-10-10 08:00:00', '111', '1', '2', '2022-01-04 16:18:46', NULL, '2022-01-13 17:45:07', NULL, 0);
INSERT INTO `easy_info` VALUES (19, '萨科', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, '2022-01-11 16:32:55', 0016, '1999-10-10 08:00:00', '111', '1', '2', '2022-01-19 16:18:46', NULL, '2022-01-18 17:45:07', NULL, 0);
INSERT INTO `easy_info` VALUES (20, '萨科', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, '2022-01-11 16:32:55', 0017, '1999-10-10 08:00:00', '111', '1', '2', '2022-01-04 16:18:46', NULL, '2022-01-18 17:45:07', NULL, 0);
INSERT INTO `easy_info` VALUES (21, '萨科', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, '2022-01-11 16:32:55', 0018, '1999-10-10 08:00:00', '111', '1', '2', '2022-01-04 16:18:46', NULL, '2022-01-05 17:45:07', NULL, 0);
INSERT INTO `easy_info` VALUES (22, '萨科', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, '2022-01-11 16:32:55', 0019, '1999-10-10 08:00:00', '111', '1', '2', '2022-01-04 16:18:46', NULL, '2022-01-18 17:45:07', NULL, 0);
INSERT INTO `easy_info` VALUES (23, '萨科', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, '2022-01-11 16:32:55', 0020, '1999-10-10 08:00:00', '111', '1', '2', '2022-01-04 16:18:46', NULL, '2022-01-12 17:45:07', NULL, 0);
INSERT INTO `easy_info` VALUES (24, '萨科', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, '2022-01-11 16:32:55', 0021, '1999-10-10 08:00:00', '111', '1', '2', '2021-12-29 16:18:46', NULL, '2022-01-18 17:45:07', NULL, 0);
INSERT INTO `easy_info` VALUES (25, '萨科', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, '2022-01-11 16:32:55', 0022, '1999-10-10 08:00:00', '111', '1', '2', '2022-01-04 16:18:46', NULL, '2022-01-13 17:45:07', NULL, 0);
INSERT INTO `easy_info` VALUES (26, '萨科', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, '2022-01-11 16:32:55', 0023, '1999-10-10 08:00:00', '111', '1', '2', '2022-01-04 16:18:46', NULL, '2022-01-18 17:45:07', NULL, 0);
INSERT INTO `easy_info` VALUES (27, '萨科', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, '2022-01-11 16:32:55', 0024, '1999-10-10 08:00:00', '111', '1', '2', '2022-01-04 16:18:46', NULL, '2022-01-18 17:45:07', NULL, 0);
INSERT INTO `easy_info` VALUES (28, '萨科', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, '2022-01-11 16:32:55', 0025, '1999-10-10 08:00:00', '111', '1', '2', '2022-01-12 16:18:46', NULL, '2022-01-18 17:45:07', NULL, 0);
INSERT INTO `easy_info` VALUES (29, '萨科', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, '2022-01-11 16:32:55', 0026, '1999-10-10 08:00:00', '111', '1', '2', '2022-01-04 16:18:46', NULL, '2022-01-26 17:45:07', NULL, 0);
INSERT INTO `easy_info` VALUES (30, '萨科', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, '2022-01-11 16:32:55', 0027, '1999-10-10 08:00:00', '111', '1', '2', '2022-01-04 16:18:46', NULL, '2022-01-18 17:45:07', NULL, 0);
INSERT INTO `easy_info` VALUES (32, '萨科', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, '2022-01-11 16:32:55', 0028, '1999-10-10 08:00:00', '111', '1', '2', '2022-01-04 16:18:46', NULL, '2022-01-18 17:45:07', NULL, 0);
INSERT INTO `easy_info` VALUES (33, '萨科', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, '2022-01-11 16:32:55', 0029, '1999-10-10 08:00:00', '111', '1', '2', '2022-01-04 16:18:46', NULL, '2022-01-18 17:45:07', NULL, 0);
INSERT INTO `easy_info` VALUES (36, '萨科', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 0, '2022-01-11 16:32:55', 0030, '1999-10-10 08:00:00', '111', '1', '2', '2022-01-04 16:18:46', NULL, '2022-01-18 17:45:07', NULL, 0);
INSERT INTO `easy_info` VALUES (40, 'xiaoleng', NULL, NULL, NULL, NULL, '', '123123@qq.com', NULL, NULL, NULL, NULL, 0, '2022-01-25 17:49:33', 0002, '2022-01-12 13:46:36', '111', '1', '2', '2022-01-25 17:49:33', 'fuwenben', NULL, NULL, 0);
INSERT INTO `easy_info` VALUES (41, 'xiaoleng', NULL, NULL, NULL, NULL, '', '123@123qq.com', NULL, NULL, NULL, NULL, 0, '2022-01-25 17:54:18', 0031, '1999-10-10 08:00:00', '111', '2', '2', '2022-01-25 17:54:18', '', NULL, NULL, 0);
INSERT INTO `easy_info` VALUES (42, 'xiaoleng', NULL, NULL, NULL, NULL, '', '123@123qq.com', NULL, NULL, NULL, NULL, 0, '2022-01-25 18:29:19', 0032, '1999-10-10 08:00:00', '111', '2', '2', '2022-01-25 18:29:19', '', NULL, NULL, 0);
INSERT INTO `easy_info` VALUES (43, 'xiaoleng', NULL, NULL, NULL, NULL, '', '123@123qq.com', NULL, NULL, NULL, NULL, 0, '2022-01-25 18:29:56', 0032, '1999-10-10 08:00:00', '111', '2', '2', '2022-01-25 18:29:56', '', NULL, NULL, 0);
INSERT INTO `easy_info` VALUES (44, 'xiaoleng', NULL, NULL, NULL, NULL, '', '123@123qq.com', NULL, NULL, NULL, NULL, 0, '2022-01-25 18:36:22', 0033, '1999-10-10 08:00:00', '111', '2', '2', '2022-01-25 18:36:22', '', NULL, NULL, 0);
INSERT INTO `easy_info` VALUES (45, 'xiaoleng', NULL, NULL, NULL, NULL, '', '123@123qq.com', NULL, NULL, NULL, NULL, 0, '2022-01-25 18:36:47', 0037, '1999-10-10 08:00:00', '111', '2', '2', '2022-01-25 18:36:47', '', NULL, NULL, 0);
INSERT INTO `easy_info` VALUES (46, 'xiaoleng', NULL, NULL, NULL, NULL, '', '123@123qq.com', NULL, NULL, NULL, NULL, 0, '2022-01-26 09:54:52', 0034, '1999-10-10 08:00:00', '111', '2', '2', '2022-01-26 09:54:52', '', NULL, NULL, 0);
INSERT INTO `easy_info` VALUES (47, 'xiaoleng', NULL, NULL, NULL, NULL, '', '123@123qq.com', NULL, NULL, NULL, NULL, 0, '2022-01-26 09:55:47', 0038, '1999-10-10 08:00:00', '111', '2', '2', '2022-01-26 09:55:47', '', NULL, NULL, 0);
INSERT INTO `easy_info` VALUES (48, 'xiaoleng', NULL, NULL, NULL, NULL, '', '123@123qq.com', NULL, NULL, NULL, NULL, 0, '2022-01-26 09:56:33', 0035, '1999-10-10 08:00:00', '111', '2', '2', '2022-01-26 09:56:33', '', NULL, NULL, 0);
INSERT INTO `easy_info` VALUES (49, 'xiaoleng', NULL, '330303011118525124', '浙江省东港区北洛湾至乌璐78号', NULL, '', '123@123qq.com', '德鲁伊', '133366688874', '6221485623152415', '1223121212', 0, '2022-01-26 09:56:54', 0036, '1999-10-10 08:00:00', '111', '2', '2', '2022-01-26 09:56:54', '', '2022-01-26 17:02:48', NULL, 0);
INSERT INTO `easy_info` VALUES (50, 'xiaoleng', NULL, NULL, NULL, NULL, '', '123@123qq.com', NULL, NULL, NULL, NULL, 0, '2022-01-26 17:59:41', 0040, '1999-10-10 08:00:00', '112', '4', '2', '2022-01-26 17:59:41', '', NULL, NULL, 0);
INSERT INTO `easy_info` VALUES (51, 'wwwweng', NULL, NULL, NULL, NULL, '', '123@123qq.com', NULL, NULL, NULL, NULL, 0, '2022-01-26 18:00:16', 0041, '1999-10-10 08:00:00', '111', '4', '2', '2022-01-26 18:00:16', '', NULL, NULL, 0);
INSERT INTO `easy_info` VALUES (52, 'xiaoleng', NULL, NULL, NULL, NULL, '1234567', '123@123qq.com', NULL, NULL, NULL, NULL, 0, '2022-02-09 19:48:50', 0042, NULL, '111', '2', '2', '2022-02-09 19:48:50', NULL, NULL, NULL, 0);

SET FOREIGN_KEY_CHECKS = 1;

最后附上我最后查询的SQL

SELECT
        ea.NAME,
        he.years,
        he.work_quarter as quarter,
        he.df as workPhilosophyScore,
        he.jd as workPhilosophyPoint,
        he.df1 as workAbilityScore,
        he.jd1 as workAbilityPoint,
        (IFNULL(he.jd,0)+ IFNULL(he.jd1,0)) as totalGradePoint
        FROM
        (
        SELECT
        a.job_id,
        a.years,
        a.work_quarter,
        a.df,
        a.jd,
        b.df df1,
        b.jd jd1
        FROM
        (
        SELECT
        job_id,
        years,
        work_quarter,
        ( code_synchronization + self_test + task_execution + code_quality + solve_problem + quality_work_report ) AS df,
        CAST((((code_synchronization + self_test + task_execution + code_quality + solve_problem + quality_work_report)/ 6 / 10)- 5) AS DECIMAL ( 10, 2 )) AS jd
        FROM
        work_ability) a
        LEFT JOIN (
        SELECT
        job_id,
        years,
        work_quarter,
        ( dedicated + work_change + service_consciousness + teamwork ) df,
        CAST((((dedicated + work_change + service_consciousness + teamwork) / 4 / 10)- 5) AS DECIMAL ( 10, 2 )) jd
        FROM
        work_philosophy
        ) b ON a.job_id = b.job_id
        AND a.years = b.years
        AND a.work_quarter = b.work_quarter UNION
        SELECT
        b.job_id,
        b.years,
        b.work_quarter,
        a.df,
        a.jd,
        b.df df1,
        b.jd jd1
        FROM
        (
        SELECT
        job_id,
        years,
        work_quarter,
        ( code_synchronization + self_test + task_execution + code_quality + solve_problem + quality_work_report ) AS df,
        CAST((((code_synchronization + self_test + task_execution + code_quality + solve_problem + quality_work_report)/ 6 / 10)- 5) AS DECIMAL ( 10, 2 )) AS jd
        FROM
        work_ability
        ) a
        RIGHT JOIN (
        SELECT
        job_id,
        years,
        work_quarter,
        ( dedicated + work_change + service_consciousness + teamwork ) df,
        CAST((((dedicated + work_change + service_consciousness + teamwork) / 4 / 10)- 5) AS DECIMAL ( 10, 2 )) jd
        FROM
        work_philosophy
        ) b ON a.job_id = b.job_id
        AND a.years = b.years
        AND a.work_quarter = b.work_quarter
        ) he
        LEFT JOIN easy_info ea ON he.job_id = ea.`job_name`

最终结果:
在这里插入图片描述

举报

相关推荐

0 条评论