SET FOREIGN_KEY_CHECKS=0;
-- ----------------------------
-- Table structure for `expert_copy`
-- ----------------------------
DROP TABLE IF EXISTS `expert_copy`;
CREATE TABLE `expert_copy` (
  `id` int(11) NOT NULL,
  `field1` varchar(500) DEFAULT NULL COMMENT '技术领域1',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;-- ----------------------------
-- Records of expert_copy
-- ----------------------------
INSERT INTO `expert_copy` VALUES ('1', '桥梁工程 路面工程 路基工程 隧道工程');
INSERT INTO `expert_copy` VALUES ('2', '气象 计算机 英语');
INSERT INTO `expert_copy` VALUES ('3', '公路 铁路');
INSERT INTO `expert_copy` VALUES ('4', '制药');上面数据,是以空格分隔的mysql实现如下结果:
id           field1
1            桥梁工程
1            路面工程
1            路基工程
1            隧道工程
2            气象
2            计算机
2            英语
3            公路
3            铁路
4            制药

解决方案 »

  1.   

    建立LSB1,字段自增ID,内容1-10000
    SELECT a.id1,MID(ss,id+1,INSTR(MID(ss,id+1),' ')-1) AS ss2
     FROM (
    SELECT id AS id1,CONCAT(' ',field1,' ') AS ss FROM expert_copy ) a LEFT JOIN lsb1 b ON LENGTH(a.ss)>=b.id
    WHERE MID(ss,id,1)=' ' AND MID(ss,id+1,INSTR(MID(ss,id+1),' ')-1)<>' '
    ORDER BY id1