重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
--表结构设计有误,其实还需要path字段 在插入数据的时候拼接id和pid存入path中即可
成都创新互联是一家专业提供抚州企业网站建设,专注与网站设计、成都网站建设、H5技术、小程序制作等业务。10年已为抚州众多企业、政府机构等服务。创新互联专业网站设计公司优惠进行中。
CREATE TABLE `gtp` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(255) DEFAULT NULL,
`pid` int(11) DEFAULT NULL,
`path` varchar(255) DEFAULT NULL,
`status` varchar(255) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=16 DEFAULT CHARSET=utf8;
--
INSERT INTO `gtp` VALUES ('1', '男装', '0', '0', '1');
INSERT INTO `gtp` VALUES ('2', '女装', '0', '0', '1');
INSERT INTO `gtp` VALUES ('13', '上衣', '1', '0,1', '1');
INSERT INTO `gtp` VALUES ('15', '短袖', '13', '0,1,13', '0');
1、首先查询表前缀为c2c_的数据表。
2、其次根据相同值,拼接指定字段值。
3、最后选择将整个字段添加索引,或者只将前一部分的字符串加上索引即可。
经过对你问题的分析,有两种方式可以解决。
第一种方式:使用mysql的存储过程,判断哪一个表的字段内容全是数字,放在前面。
第二种方式:使用java或其他动态语言,进行判断并组装。
另一种思路,就是把三个表的数据统一一下。
如果是合并字段应该使用concat函数,比如:select
id,concat(name,age)
as
info
from
user
而楼上说的group_concat是指将本来多行的数据合并到一行,默认是逗号隔开,间隔符可以指定。