直接上例子: 

CREATE TABLE `t_biological_dic` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `BM` varchar(42) COLLATE utf8_unicode_ci DEFAULT NULL,
  `FL_BM` varchar(42) COLLATE utf8_unicode_ci DEFAULT NULL,
  `MC` varchar(600) COLLATE utf8_unicode_ci DEFAULT NULL,
  `XH` decimal(22,0) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
INSERT INTO `test`.`t_biological_dic` (`id`, `BM`, `FL_BM`, `MC`, `XH`) VALUES (\'1\', \'BM10000\', NULL, \'生物\', \'1\');                    #生物
INSERT INTO `test`.`t_biological_dic` (`id`, `BM`, `FL_BM`, `MC`, `XH`) VALUES (\'2\', \'BM11001\', \'BM10000\', \'动物\', \'1\');            #生物子类1
INSERT INTO `test`.`t_biological_dic` (`id`, `BM`, `FL_BM`, `MC`, `XH`) VALUES (\'3\', \'BM11002\', \'BM10000\', \'植物\', \'2\');            #生物子类2
INSERT INTO `test`.`t_biological_dic` (`id`, `BM`, `FL_BM`, `MC`, `XH`) VALUES (\'4\', \'BM11003\', \'BM10000\', \'微生物\', \'3\');        #生物子类3

INSERT INTO `test`.`t_biological_dic` (`id`, `BM`, `FL_BM`, `MC`, `XH`) VALUES (\'5\', \'BM11101\', \'BM11001\', \'无脊椎动物\', \'1\');
INSERT INTO `test`.`t_biological_dic` (`id`, `BM`, `FL_BM`, `MC`, `XH`) VALUES (\'6\', \'BM11102\', \'BM11001\', \'脊椎动物\', \'2\');

INSERT INTO `test`.`t_biological_dic` (`id`, `BM`, `FL_BM`, `MC`, `XH`) VALUES (\'7\', \'BM11111\', \'BM11102\', \'鱼\', \'1\');
INSERT INTO `test`.`t_biological_dic` (`id`, `BM`, `FL_BM`, `MC`, `XH`) VALUES (\'8\', \'BM11112\', \'BM11102\', \'爬行动物\', \'2\');
INSERT INTO `test`.`t_biological_dic` (`id`, `BM`, `FL_BM`, `MC`, `XH`) VALUES (\'9\', \'BM11113\', \'BM11102\', \'鸟\', \'3\');
INSERT INTO `test`.`t_biological_dic` (`id`, `BM`, `FL_BM`, `MC`, `XH`) VALUES (\'10\', \'BM11114\', \'BM11102\', \'哺乳动物\', \'4\');

-- 自身连接查询 查询【脊椎动物】分类下的所有【字典】

select child.XH,parent.BM,parent.MC,child.BM,child.MC
     from t_biological_dic parent
        join t_biological_dic child
        on parent.BM= child.FL_BM
    where parent.MC=\"脊椎动物\"
order by child.XH ASC

 查询结果:

1    BM11102    脊椎动物    BM11111    鱼
2    BM11102    脊椎动物    BM11112    爬行动物
3    BM11102    脊椎动物    BM11113    鸟
4    BM11102    脊椎动物    BM11114    哺乳动物

收藏 打印