测试数据

mysql列转行

create  table testTable( 
 id int identity primary key auto_increment,
 name varchar(20),         
 subject  varchar(20),
 score dec (18,2)
);

insert into testTable (name,subject,score) values ('张三','语文',41);
insert into testTable (name,subject,score) values ('张三','英语',94);
insert into testTable (name,subject,score) values ('张三','数学',89);
insert into testTable (name,subject,score) values ('张三','物理',96);
insert into testTable (name,subject,score) values ('张三','生物',90);

insert into testTable (name,subject,score) values ('李四','语文',63);
insert into testTable (name,subject,score) values ('李四','英语',81);
insert into testTable (name,subject,score) values ('李四','数学',82);
insert into testTable (name,subject,score) values ('李四','物理',52);
insert into testTable (name,subject,score) values ('李四','生物',82);

insert into testTable (name,subject,score) values ('王五','语文',98);
insert into testTable (name,subject,score) values ('王五','英语',99);
insert into testTable (name,subject,score) values ('王五','数学',97);
insert into testTable (name,subject,score) values ('王五','物理',97);
insert into testTable (name,subject,score) values ('王五','生物',91);

insert into testTable (name,subject,score) values ('赵四','语文',98);
insert into testTable (name,subject,score) values ('赵四','英语',98);
insert into testTable (name,subject,score) values ('赵四','数学',97);
insert into testTable (name,subject,score) values ('赵四','物理',96);
insert into testTable (name,subject,score) values ('赵四','生物',95);

insert into testTable (name,subject,score) values ('李芳','语文',80);
insert into testTable (name,subject,score) values ('李芳','英语',65);
insert into testTable (name,subject,score) values ('李芳','数学',85);
insert into testTable (name,subject,score) values ('李芳','物理',56);
insert into testTable (name,subject,score) values ('李芳','生物',88);

insert into testTable (name,subject,score) values ('周杰','语文',50);
insert into testTable (name,subject,score) values ('周杰','英语',95);
insert into testTable (name,subject,score) values ('周杰','数学',85);
insert into testTable (name,subject,score) values ('周杰','物理',89);
insert into testTable (name,subject,score) values ('周杰','生物',80)

静态写法:

SELECT `name`
    ,
    MAX( CASE WHEN `subject` = '语文' THEN score END ) AS '语文' ,
    MAX( CASE WHEN `subject` = '英语' THEN score END ) AS '英语' ,
    MAX( CASE WHEN `subject` = '数学' THEN score END ) AS '数学' ,
    MAX( CASE WHEN `subject` = '物理' THEN score END ) AS '物理' ,
    MAX( CASE WHEN `subject` = '生物' THEN score END ) AS '生物' 
FROM
    testtable 
GROUP BY
    `name`;

 

动态写法:

SET @SQL = NULL;-- 拼接
SELECT
    GROUP_CONCAT(
    DISTINCT CONCAT( 'sum(case subject', ' when ''', SUBJECT, ''' then score else 0 end) as ''', SUBJECT, '''' )) INTO @SQL 
FROM
    testtable;-- 查看拼接结果
SELECT
    @SQL; -- sum(case subject when '数学' then score else 0 end) as '数学',sum(case subject when '物理' then score else 0 end) as '物理',sum(case subject when '生物' then score else 0 end) as '生物',sum(case subject when '英语' then score else 0 end) as '英语',sum(case subject when '语文' then score else 0 end) as '语文'

SET @SQL = CONCAT( 'select b.name,', @SQL, 'from testtable b GROUP BY name' );

-- select b.name,sum(case subject when '数学' then score else 0 end) as '数学',sum(case subject when '物理' then score else 0 end) as '物理',sum(case subject when '生物' then score else 0 end) as '生物',sum(case subject when '英语' then score else 0 end) as '英语',sum(case subject when '语文' then score else 0 end) as '语文'from testtable b GROUP BY name
SELECT
    @SQL;-- 使用预执行 PREPARE 声明 stmt
PREPARE stmt 
FROM
    @SQL;-- 开始执行
EXECUTE stmt;-- 清除
DEALLOCATE PREPARE stmt;

 

 

例子2:

/*
 Navicat Premium Data Transfer

 Source Server         : localhost
 Source Server Type    : MySQL
 Source Server Version : 80012
 Source Host           : localhost:3306
 Source Schema         : supervision

 Target Server Type    : MySQL
 Target Server Version : 80012
 File Encoding         : 65001

 Date: 19/01/2021 18:01:40
*/

SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;

-- ----------------------------
-- Table structure for sv_check_attachment
-- ----------------------------
DROP TABLE IF EXISTS `sv_check_attachment`;
CREATE TABLE `sv_check_attachment`  (
  `ATTACHMENT_ID` char(32) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '附件ID',
  `RESULT_ID` char(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '检查结果ID',
  `ATT_NAME` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '附件名称',
  `ATT_DES` varchar(1000) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '附件描述',
  `ATT_TYPE` int(11) NULL DEFAULT NULL COMMENT '附件类型',
  `ATT_URL` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '附件路径',
  `ATT_SIZE` decimal(17, 2) NULL DEFAULT NULL COMMENT '附件大小',
  `ATT_USER` char(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '上传人',
  `ATT_TIME` datetime(0) NULL DEFAULT NULL COMMENT '上传时间'
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '检查附件' ROW_FORMAT = Dynamic;

-- ----------------------------
-- Table structure for sv_check_form_sub_template
-- ----------------------------
DROP TABLE IF EXISTS `sv_check_form_sub_template`;
CREATE TABLE `sv_check_form_sub_template`  (
  `SUB_TEMPLATE_ID` char(32) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '子模板ID',
  `SUB_NAME` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '名称',
  `SUB_TYPE` int(11) NULL DEFAULT NULL COMMENT '模板类别',
  `SUB_ORDER` int(11) NULL DEFAULT NULL COMMENT '排序',
  `IS_VALID` int(11) NULL DEFAULT NULL COMMENT '是否有效',
  `IS_SHOW` int(11) NULL DEFAULT NULL COMMENT '是否在页面显示',
  `DIS_TYPE` int(11) NULL DEFAULT NULL COMMENT '展现类型',
  `SUB_STATE` int(11) NULL DEFAULT NULL COMMENT '模板状态',
  `SUB_CODE` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '编号',
  `SUB_LEVEL` int(11) NULL DEFAULT NULL COMMENT '级别',
  `SUB_PARENT_ID` char(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '父级ID',
  `SUB_IS_KEY_POINT` int(11) NULL DEFAULT NULL COMMENT '是否重点项',
  `ORGANIZATION_ID` char(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '所属单位',
  `CREATE_USER_ID` char(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '创建人',
  `CREATE_TIME` datetime(0) NULL DEFAULT NULL COMMENT '创建时间',
  `UPDATE_USER` char(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '更新人',
  `UPDATE_TIME` datetime(0) NULL DEFAULT NULL COMMENT '更新时间',
  `USER_DISABLED` char(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '失效人',
  `DISABLED_TIME` datetime(0) NULL DEFAULT NULL COMMENT '失效时间',
  PRIMARY KEY (`SUB_TEMPLATE_ID`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '检查单子模板' ROW_FORMAT = Dynamic;

-- ----------------------------
-- Records of sv_check_form_sub_template
-- ----------------------------
INSERT INTO `sv_check_form_sub_template` VALUES ('1', '登记模板1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '1', '1', NULL, '1', NULL, '1', NULL);
INSERT INTO `sv_check_form_sub_template` VALUES ('10', '登记模板10', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '10', '10', NULL, '10', NULL, '10', NULL);
INSERT INTO `sv_check_form_sub_template` VALUES ('11', '冷库清单', NULL, NULL, NULL, NULL, NULL, NULL, NULL, 1, NULL, NULL, '1', '1', NULL, '1', NULL, '1', NULL);
INSERT INTO `sv_check_form_sub_template` VALUES ('12', '冷库清单1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, 2, '11', NULL, '3', '3', NULL, '3', NULL, '3', NULL);
INSERT INTO `sv_check_form_sub_template` VALUES ('13', '冷库名称2', NULL, NULL, NULL, NULL, NULL, NULL, NULL, 2, '11', NULL, '4', '4', NULL, '4', NULL, '4', NULL);
INSERT INTO `sv_check_form_sub_template` VALUES ('14', '冷库名称3', NULL, NULL, NULL, NULL, NULL, NULL, NULL, 2, '11', NULL, '5', '5', NULL, '5', NULL, '5', NULL);
INSERT INTO `sv_check_form_sub_template` VALUES ('15', '登记模板6', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '6', '6', NULL, '6', NULL, '6', NULL);
INSERT INTO `sv_check_form_sub_template` VALUES ('16', '登记模板7', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '7', '7', NULL, '7', NULL, '7', NULL);
INSERT INTO `sv_check_form_sub_template` VALUES ('17', '登记模板8', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '8', '8', NULL, '8', NULL, '8', NULL);
INSERT INTO `sv_check_form_sub_template` VALUES ('18', '登记模板9', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '9', '9', NULL, '9', NULL, '9', NULL);
INSERT INTO `sv_check_form_sub_template` VALUES ('19', '登记模板10', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '10', '10', NULL, '10', NULL, '10', NULL);
INSERT INTO `sv_check_form_sub_template` VALUES ('2', '登记模板2', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2', '2', NULL, '2', NULL, '2', NULL);
INSERT INTO `sv_check_form_sub_template` VALUES ('20', '检查结果模板', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);
INSERT INTO `sv_check_form_sub_template` VALUES ('3', '登记模板3', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '3', '3', NULL, '3', NULL, '3', NULL);
INSERT INTO `sv_check_form_sub_template` VALUES ('4', '登记模板4', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '4', '4', NULL, '4', NULL, '4', NULL);
INSERT INTO `sv_check_form_sub_template` VALUES ('5', '登记模板5', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '5', '5', NULL, '5', NULL, '5', NULL);
INSERT INTO `sv_check_form_sub_template` VALUES ('6', '登记模板6', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '6', '6', NULL, '6', NULL, '6', NULL);
INSERT INTO `sv_check_form_sub_template` VALUES ('7', '登记模板7', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '7', '7', NULL, '7', NULL, '7', NULL);
INSERT INTO `sv_check_form_sub_template` VALUES ('8', '登记模板8', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '8', '8', NULL, '8', NULL, '8', NULL);
INSERT INTO `sv_check_form_sub_template` VALUES ('9', '登记模板9', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '9', '9', NULL, '9', NULL, '9', NULL);

-- ----------------------------
-- Table structure for sv_check_form_template
-- ----------------------------
DROP TABLE IF EXISTS `sv_check_form_template`;
CREATE TABLE `sv_check_form_template`  (
  `TEMPLATE_ID` char(32) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '检查单模板ID',
  `NAME` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '模板名称',
  `IS_VALID` int(11) NULL DEFAULT NULL COMMENT '是否有效',
  `TEMPLATE_STATE` int(11) NULL DEFAULT NULL COMMENT '模板状态',
  `ORGANIZATION_ID` char(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '所属单位',
  `CREATE_USER_ID` char(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '创建人',
  `CREATE_TIME` datetime(0) NULL DEFAULT NULL COMMENT '创建时间',
  `UPDATE_USER` char(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '更新人',
  `UPDATE_TIME` datetime(0) NULL DEFAULT NULL COMMENT '更新时间',
  `USER_DISABLED` char(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '失效人',
  `DISABLED_TIME` datetime(0) NULL DEFAULT NULL COMMENT '失效时间'
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '检查单模板' ROW_FORMAT = Dynamic;

-- ----------------------------
-- Table structure for sv_check_obj_relation
-- ----------------------------
DROP TABLE IF EXISTS `sv_check_obj_relation`;
CREATE TABLE `sv_check_obj_relation`  (
  `RELATION_ID` char(32) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '对象关系ID',
  `RELATION_TYPE` int(11) NULL DEFAULT NULL COMMENT '关系类型',
  `OBJ1_ID` char(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '关联对象1ID',
  `OBJ2_ID` char(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '关联对象2ID',
  `SHOW_ORDER` int(11) NULL DEFAULT NULL COMMENT '显示顺序',
  `DEFAULT_VALUE` varchar(300) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '默认值',
  `ROW_NUM` int(11) NULL DEFAULT NULL COMMENT '行号'
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '对象关系' ROW_FORMAT = Dynamic;

-- ----------------------------
-- Records of sv_check_obj_relation
-- ----------------------------
INSERT INTO `sv_check_obj_relation` VALUES ('1', 5, '1', '1', NULL, NULL, NULL);
INSERT INTO `sv_check_obj_relation` VALUES ('2', 5, '1', '2', NULL, NULL, NULL);
INSERT INTO `sv_check_obj_relation` VALUES ('3', 5, '1', '3', NULL, NULL, NULL);
INSERT INTO `sv_check_obj_relation` VALUES ('4', 5, '1', '4', NULL, NULL, NULL);
INSERT INTO `sv_check_obj_relation` VALUES ('5', 5, '1', '5', NULL, '3,4', NULL);
INSERT INTO `sv_check_obj_relation` VALUES ('6', 5, '1', '6', NULL, NULL, NULL);
INSERT INTO `sv_check_obj_relation` VALUES ('7', 5, '1', '7', NULL, NULL, NULL);
INSERT INTO `sv_check_obj_relation` VALUES ('8', 5, '1', '8', NULL, NULL, NULL);
INSERT INTO `sv_check_obj_relation` VALUES ('9', 5, '1', '9', NULL, NULL, NULL);
INSERT INTO `sv_check_obj_relation` VALUES ('10', 5, '12', '21', 1, '冷库名称1', 1);
INSERT INTO `sv_check_obj_relation` VALUES ('11', 5, '12', '22', 2, '地址1', 1);
INSERT INTO `sv_check_obj_relation` VALUES ('12', 5, '12', '23', 3, '1', 1);
INSERT INTO `sv_check_obj_relation` VALUES ('13', 5, '12', '24', 4, '0', 1);
INSERT INTO `sv_check_obj_relation` VALUES ('14', 5, '12', '25', 5, '3,4,5', 1);
INSERT INTO `sv_check_obj_relation` VALUES ('15', 5, '12', '21', 1, '冷库名称2', 2);
INSERT INTO `sv_check_obj_relation` VALUES ('16', 5, '12', '22', 2, '地址2', 2);
INSERT INTO `sv_check_obj_relation` VALUES ('17', 5, '12', '23', 3, '1', 2);
INSERT INTO `sv_check_obj_relation` VALUES ('18', 5, '12', '24', 4, '0', 2);
INSERT INTO `sv_check_obj_relation` VALUES ('19', 5, '12', '25', 5, '3,4,5', 2);
INSERT INTO `sv_check_obj_relation` VALUES ('20', 5, '12', '26', 6, '检查结果值', 2);

-- ----------------------------
-- Table structure for sv_check_record
-- ----------------------------
DROP TABLE IF EXISTS `sv_check_record`;
CREATE TABLE `sv_check_record`  (
  `RECORD_ID` char(32) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '记录ID',
  `RESULT_ID` char(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '检查结果ID',
  `SUB_TEMPLATE_ID` char(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '子模板ID',
  `INDICATOR_ID` char(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '指标ID',
  `INDICATOR_VALUE` varchar(5000) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '指标值',
  `INDICATOR_ROW` int(11) NULL DEFAULT NULL COMMENT '行号',
  PRIMARY KEY (`RECORD_ID`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '记录信息' ROW_FORMAT = Dynamic;

-- ----------------------------
-- Records of sv_check_record
-- ----------------------------
INSERT INTO `sv_check_record` VALUES ('1', '1', '1', '检查项目描述1@@@检查项结果值@@@检查结论', '是否持有营业执照@@@合格@@@通过', 1);

-- ----------------------------
-- Table structure for sv_check_result
-- ----------------------------
DROP TABLE IF EXISTS `sv_check_result`;
CREATE TABLE `sv_check_result`  (
  `RESULT_ID` char(32) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '检查结果ID',
  `TEMPLATE_ID` char(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '检查单模板ID',
  `CHECK_SUBJECT_ID` char(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '检查主体ID',
  `RESULT_TITLE` varchar(300) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '检查结果名称',
  `RESULT_DES` varchar(1000) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '检查结果描述',
  `IS_VALID` int(11) NULL DEFAULT NULL COMMENT '是否有效',
  `ORGANIZATION_ID` char(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '所属单位',
  `CREATE_USER_ID` char(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '创建人',
  `CREATE_TIME` datetime(0) NULL DEFAULT NULL COMMENT '创建时间',
  `UPDATE_USER` char(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '更新人',
  `UPDATE_TIME` datetime(0) NULL DEFAULT NULL COMMENT '更新时间',
  `USER_DISABLED` char(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '失效人',
  `DISABLED_TIME` datetime(0) NULL DEFAULT NULL COMMENT '失效时间'
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '检查结果' ROW_FORMAT = Dynamic;

-- ----------------------------
-- Records of sv_check_result
-- ----------------------------
INSERT INTO `sv_check_result` VALUES ('1', '检查结果1', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);

-- ----------------------------
-- Table structure for sv_check_template_indicator
-- ----------------------------
DROP TABLE IF EXISTS `sv_check_template_indicator`;
CREATE TABLE `sv_check_template_indicator`  (
  `INDICATOR_ID` char(32) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '指标ID',
  `FIELD_NAME` varchar(300) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '字段名称',
  `IS_EDIT` int(11) NULL DEFAULT NULL COMMENT '是否可修改',
  `FIELD_VALUE` varchar(300) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '字段值',
  `FIELD_TYPE` int(11) NULL DEFAULT NULL COMMENT '指标类型',
  `CODE_TYPE_ID` char(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '码表分类ID',
  `FIELD_GROUP` int(11) NULL DEFAULT NULL COMMENT '分组',
  `FIELD_ORDER` int(11) NULL DEFAULT NULL COMMENT '排序',
  `IS_ROW` int(11) NULL DEFAULT NULL COMMENT '是否独占一行',
  `IS_VALID` int(11) NULL DEFAULT NULL COMMENT '是否有效',
  `INDICATOR_STATE` int(11) NULL DEFAULT NULL COMMENT '指标状态',
  `ORGANIZATION_ID` char(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '所属单位',
  `CREATE_USER_ID` char(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '创建人',
  `CREATE_TIME` datetime(0) NULL DEFAULT NULL COMMENT '创建时间',
  `UPDATE_USER` char(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '更新人',
  `UPDATE_TIME` datetime(0) NULL DEFAULT NULL COMMENT '更新时间',
  `USER_DISABLED` char(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '失效人',
  `DISABLED_TIME` datetime(0) NULL DEFAULT NULL COMMENT '失效时间'
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '模板指标' ROW_FORMAT = Dynamic;

-- ----------------------------
-- Records of sv_check_template_indicator
-- ----------------------------
INSERT INTO `sv_check_template_indicator` VALUES ('1', '企业注册资本', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);
INSERT INTO `sv_check_template_indicator` VALUES ('2', '企业名称', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);
INSERT INTO `sv_check_template_indicator` VALUES ('3', '地址', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);
INSERT INTO `sv_check_template_indicator` VALUES ('4', '电话', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);
INSERT INTO `sv_check_template_indicator` VALUES ('5', '单位类别', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);
INSERT INTO `sv_check_template_indicator` VALUES ('6', '检查人', NULL, NULL, NULL, '检查人员组织结构数据sql?', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);
INSERT INTO `sv_check_template_indicator` VALUES ('7', '检查人联系方式', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);
INSERT INTO `sv_check_template_indicator` VALUES ('8', '存在问题', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);
INSERT INTO `sv_check_template_indicator` VALUES ('9', '改进建议', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);
INSERT INTO `sv_check_template_indicator` VALUES ('11', '抽查事项编号', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);
INSERT INTO `sv_check_template_indicator` VALUES ('12', '检查内容', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);
INSERT INTO `sv_check_template_indicator` VALUES ('13', '有效性', NULL, NULL, NULL, 'valid_type', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);
INSERT INTO `sv_check_template_indicator` VALUES ('14', '检查结果显示值', NULL, NULL, NULL, 'check_indicator', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);
INSERT INTO `sv_check_template_indicator` VALUES ('15', '检查依据', NULL, '《公共场所卫生管理条例》', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);
INSERT INTO `sv_check_template_indicator` VALUES ('16', '检查方法', NULL, '实地检查,不定项检查或抽查', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);
INSERT INTO `sv_check_template_indicator` VALUES ('17', '常见问题', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);
INSERT INTO `sv_check_template_indicator` VALUES ('18', '计分标准', NULL, '100', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);
INSERT INTO `sv_check_template_indicator` VALUES ('19', '分数', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);
INSERT INTO `sv_check_template_indicator` VALUES ('21', '地址', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);
INSERT INTO `sv_check_template_indicator` VALUES ('22', '冷冻库还是冷藏库', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);
INSERT INTO `sv_check_template_indicator` VALUES ('23', '是否存储冷冻肉制品或水产品', NULL, NULL, NULL, 'is_or_not', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);
INSERT INTO `sv_check_template_indicator` VALUES ('24', '是否符合“三全”要求', NULL, NULL, NULL, 'is_or_not', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);
INSERT INTO `sv_check_template_indicator` VALUES ('25', '存放进口产品', NULL, NULL, NULL, 'is_imported_product', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);
INSERT INTO `sv_check_template_indicator` VALUES ('26', '检查结果值', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);

-- ----------------------------
-- Table structure for sv_code_type
-- ----------------------------
DROP TABLE IF EXISTS `sv_code_type`;
CREATE TABLE `sv_code_type`  (
  `CODE_TYPE_ID` char(32) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '码表分类ID',
  `CODE_TYPE_NAME` varchar(300) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '分类名称',
  `CODE_TYPE_DES` varchar(1000) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '分类描述',
  `IS_VALID` int(11) NULL DEFAULT NULL COMMENT '是否有效'
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '码表分类' ROW_FORMAT = Dynamic;

-- ----------------------------
-- Records of sv_code_type
-- ----------------------------
INSERT INTO `sv_code_type` VALUES ('organization_type', '单位分类', NULL, 1);
INSERT INTO `sv_code_type` VALUES ('is_or_not', '是否', NULL, 1);
INSERT INTO `sv_code_type` VALUES ('is_imported_product', '存放进口产品', NULL, 1);
INSERT INTO `sv_code_type` VALUES ('valid_type', '有效性', NULL, 1);
INSERT INTO `sv_code_type` VALUES ('check_indicator', '检查指标值', NULL, 1);
INSERT INTO `sv_code_type` VALUES ('check_period', '检查频次', NULL, 1);

-- ----------------------------
-- Table structure for sv_code_value
-- ----------------------------
DROP TABLE IF EXISTS `sv_code_value`;
CREATE TABLE `sv_code_value`  (
  `CODE_ID` char(32) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '码表值ID',
  `CODE_TYPE_ID` char(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '码表分类ID',
  `CODE` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '代码CODE',
  `CODE_VALUE` varchar(300) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '代码值',
  `CODE_ORDER` int(11) NULL DEFAULT NULL COMMENT '排序',
  `IS_VALID` int(11) NULL DEFAULT NULL COMMENT '是否有效'
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '码表值' ROW_FORMAT = Dynamic;

-- ----------------------------
-- Records of sv_code_value
-- ----------------------------
INSERT INTO `sv_code_value` VALUES ('1', 'organization_type', '1', '农贸市场', 1, 1);
INSERT INTO `sv_code_value` VALUES ('2', 'organization_type', '2', '水产销售单位', 2, 1);
INSERT INTO `sv_code_value` VALUES ('3', 'organization_type', '3', '餐饮单位', 3, 1);
INSERT INTO `sv_code_value` VALUES ('4', 'organization_type', '4', '餐具制售单位', 4, 1);
INSERT INTO `sv_code_value` VALUES ('5', 'valid_type', '1', '有效', 1, 1);
INSERT INTO `sv_code_value` VALUES ('6', 'valid_type', '2', '无效', 2, 1);
INSERT INTO `sv_code_value` VALUES ('7', 'check_indicator', '1', '合格', 1, 1);
INSERT INTO `sv_code_value` VALUES ('8', 'check_indicator', '2', '不合格', 2, 1);
INSERT INTO `sv_code_value` VALUES ('9', 'check_indicator', '3', '符合', 3, 1);
INSERT INTO `sv_code_value` VALUES ('10', 'check_indicator', '4', '不符合', 4, 1);
INSERT INTO `sv_code_value` VALUES ('11', 'check_indicator', '5', '其他', 5, 1);
INSERT INTO `sv_code_value` VALUES ('12', 'check_period', '1', '每年一次', 1, 1);
INSERT INTO `sv_code_value` VALUES ('13', 'check_period', '2', '每月一次', 2, 1);
INSERT INTO `sv_code_value` VALUES ('14', 'check_period', '3', '每周一次', 3, 1);
INSERT INTO `sv_code_value` VALUES ('15', 'is_or_not', '1', '是', 1, 1);
INSERT INTO `sv_code_value` VALUES ('16', 'is_or_not', '2', '否', 2, 1);
INSERT INTO `sv_code_value` VALUES ('17', 'is_imported_product', '1', '是', 1, 1);
INSERT INTO `sv_code_value` VALUES ('18', 'is_imported_product', '2', '否', 2, 1);
INSERT INTO `sv_code_value` VALUES ('19', 'is_imported_product', '3', '海(水)产', 3, 1);
INSERT INTO `sv_code_value` VALUES ('20', 'is_imported_product', '4', '水果', 4, 1);
INSERT INTO `sv_code_value` VALUES ('21', 'is_imported_product', '5', '乳制品', 5, 1);
INSERT INTO `sv_code_value` VALUES ('22', 'is_imported_product', '6', '调味品', 6, 1);
INSERT INTO `sv_code_value` VALUES ('23', 'is_imported_product', '7', '饮料', 7, 1);

-- ----------------------------
-- Procedure structure for 冷库清单
-- ----------------------------
DROP PROCEDURE IF EXISTS `冷库清单`;
delimiter ;;
CREATE PROCEDURE `冷库清单`()
BEGIN
  #Routine body goes here...
SET @sql=null;
SELECT GROUP_CONCAT(DISTINCT CONCAT('MAX(CASE INDICATOR_ID WHEN ''',scti1.INDICATOR_ID,''' THEN DEFAULT_VALUE ELSE ''' ''' END)  AS ''',scti1.INDICATOR_ID,'''')) FROM sv_check_obj_relation scor1 LEFT JOIN sv_check_template_indicator scti1 ON scor1.OBJ2_ID=scti1.INDICATOR_ID WHERE scor1.OBJ1_ID=12 INTO @sql;
-- SELECT @sql;
SET @sql=CONCAT('select a.ROW_NUM,',@sql,' FROM (
SELECT svor.*,scti.INDICATOR_ID FROM sv_check_obj_relation svor LEFT JOIN sv_check_form_sub_template SCFST
 ON
  svor.OBJ1_ID=SCFST.SUB_TEMPLATE_ID
    LEFT JOIN sv_check_template_indicator scti on
    svor.OBJ2_ID=scti.INDICATOR_ID
WHERE OBJ1_ID=12 AND RELATION_TYPE=5
) a GROUP BY a.ROW_NUM');
-- SELECT @sql;
PREPARE stmt FROM @sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;

END
;;
delimiter ;

SET FOREIGN_KEY_CHECKS = 1;
 

 

SET @sql=null;
SELECT GROUP_CONCAT(DISTINCT CONCAT('MAX(CASE INDICATOR_ID WHEN ''',scti1.INDICATOR_ID,''' THEN DEFAULT_VALUE ELSE ''' ''' END)  AS ''',scti1.INDICATOR_ID,'''')) FROM sv_check_obj_relation scor1 LEFT JOIN sv_check_template_indicator scti1 ON scor1.OBJ2_ID=scti1.INDICATOR_ID WHERE scor1.OBJ1_ID=12 INTO @sql;
SELECT @sql;
SET @sql=CONCAT('select a.ROW_NUM,',@sql,' FROM (
SELECT svor.*,scti.INDICATOR_ID FROM sv_check_obj_relation svor LEFT JOIN sv_check_form_sub_template SCFST
 ON
  svor.OBJ1_ID=SCFST.SUB_TEMPLATE_ID
    LEFT JOIN sv_check_template_indicator scti on
    svor.OBJ2_ID=scti.INDICATOR_ID
WHERE OBJ1_ID=12 AND RELATION_TYPE=5
) a GROUP BY a.ROW_NUM');
SELECT @sql;
PREPARE stmt FROM @sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值