delimiter $$
CREATE TABLE `tb` (
  `indu_cd` varchar(20) NOT NULL COMMENT '行业分类编号',
  `lang_cd` varchar(3) NOT NULL COMMENT '语言编号',
  `indu_level` tinyint(3) unsigned NOT NULL COMMENT '行业分类级别',
  `indu_nm` varchar(200) NOT NULL COMMENT '行业分类名称'
) ENGINE=InnoDB DEFAULT CHARSET=utf8$$
INSERT INTO `table` (indu_cd,lang_cd,indu_level,indu_nm) VALUES (10,EN,1,Energy);
INSERT INTO `table` (indu_cd,lang_cd,indu_level,indu_nm) VALUES (1010,EN,2,Energy);
INSERT INTO `table` (indu_cd,lang_cd,indu_level,indu_nm) VALUES (101010,EN,3,Energy Equipment & Services);
INSERT INTO `table` (indu_cd,lang_cd,indu_level,indu_nm) VALUES (10101010,EN,4,Oil & Gas Drilling);
INSERT INTO `table` (indu_cd,lang_cd,indu_level,indu_nm) VALUES (10101020,EN,4,Oil & Gas Equipment & Services);
INSERT INTO `table` (indu_cd,lang_cd,indu_level,indu_nm) VALUES (101020,EN,3,Oil, Gas & Consumable Fuels);
INSERT INTO `table` (indu_cd,lang_cd,indu_level,indu_nm) VALUES (10102010,EN,4,Integrated Oil & Gas);
INSERT INTO `table` (indu_cd,lang_cd,indu_level,indu_nm) VALUES (10102020,EN,4,Oil & Gas Exploration & Production);
INSERT INTO `table` (indu_cd,lang_cd,indu_level,indu_nm) VALUES (10102030,EN,4,Oil & Gas Refining & Marketing);
INSERT INTO `table` (indu_cd,lang_cd,indu_level,indu_nm) VALUES (10102040,EN,4,Oil & Gas Storage & Transportation);输入参数indu_cd字段值10101020,希望得到4条记录,从indu_level为4到indu_level为1,我知道oracle里面跟sqlserver里面有connect by with函数,
但是mysql里面没有找到类似的函数,当然也可以用union all来实现,但是太锉了,不想用,大家有好的简介的sql共享下啊。
'10',       'EN', '1', 'Energy'
'1010',     'EN', '2', 'Energy'
'101010',   'EN', '3', 'Energy Equipment & Services'
'10101020', 'EN', '4', 'Oil & Gas Equipment & Services'
对了,我的mysql版本是5.5.8社区版。