昨天一个需求写了一天的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`
最终结果: