从品牌网站建设到网络营销策划,从策略到执行的一站式服务
Oracle的Start with...Connect By实现了树的递归查询,但是现在要求用MySQL也实现相同的递归查询树的功能。这个功能是我从以前从未使用到过的,于是,我上网查询、找了一些资料开始做了起来。
成都创新互联公司是一家朝气蓬勃的网站建设公司。公司专注于为企业提供信息化建设解决方案。从事网站开发,网站制作,网站设计,网站模板,微信公众号开发,软件开发,小程序制作,10年建站对成都酒楼设计等多个方面,拥有多年建站经验。
原始的oracle语句为
select '|'||c.seq_cate||'|'
from osr_category c
start with c.seq_cate = #serviceCategory#
connect by prior c.seq_cate = c.parent_id)
mysql没有相应的方法实现递归查询树的功能,所以只好根据网上所说的那样写个函数来实现:
CREATE FUNCTION getChildList(rootId VARCHAR(1000))
RETURNS VARCHAR(1000)
BEGIN
DECLARE pTemp VARCHAR(1000);
DECLARE cTemp VARCHAR(1000);
SET pTemp='$';
SET cTemp=rootId;
WHILE cTemp is not null DO
set pTemp=CONCAT(pTemp,',',cTemp);
SELECT GROUP_CONCAT(SEQ_CATE) INTO cTemp from osr_category
WHERE FIND_IN_SET(PARENT_ID,cTemp)>0;
END WHILE;
RETURN pTemp;
END
随后其sql语句应该改为:
select '|'||c.seq_cate||'|'
from osr_category c
where FIND_IN_SET(c.seq_cate, getChildList(#serviceCategory#))
成都网站建设公司地址:成都市青羊区太升南路288号锦天国际A座10层 建设咨询028-86922220
成都快上网科技有限公司-四川网站建设设计公司 | 蜀ICP备19037934号 Copyright 2020,ALL Rights Reserved cdkjz.cn | 成都网站建设 | © Copyright 2020版权所有.
专家团队为您提供成都网站建设,成都网站设计,成都品牌网站设计,成都营销型网站制作等服务,成都建网站就找快上网! | 成都网站建设哪家好? | 网站建设地图