CREATE TABLE `Account` (
  `AccountID` varchar(100) NOT NULL COMMENT '科目id',
  `ParentID` varchar(10) DEFAULT NULL COMMENT '科目父id',
  `AccountName` varchar(150) NOT NULL COMMENT '科目名称',
  `FullAccountName` varchar(1000) NOT NULL COMMENT '科目全称',
  `Remarks` varchar(200) DEFAULT '' COMMENT '备注',
  `IsActive` char(1) DEFAULT '1' COMMENT '是否激活 0不激活,1激活',
  `IsDelete` char(1) DEFAULT '0' COMMENT '是否删除 0没删除,1删除',
  `PrivilegeID` int(12) NOT NULL COMMENT '权限ID',
  `CreateDate` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '创建日期',
  `CreateBy` int(12) DEFAULT '0' COMMENT '创建者id',
  `ModifyDate` datetime DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '修改日期',
  `ModifyBy` int(12) DEFAULT NULL COMMENT '修改者id',
  `AccountType` varchar(12) DEFAULT NULL COMMENT '科目级别',
  PRIMARY KEY (`AccountID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='科目表';

这里写图片描述

怎么查看科目叶子节点:
方法1
select AccountID
from Account where AccountID not exists(select ParentID from Account)

方法2
获取一条科目,假设这个科目不是叶子节点,那么用这个科目的ID作为该科目子节点的父id,查询该科目的子节点,如果子节点存在,该科目非也叶子节点,否者该科目为叶子节点

posted on 2017-11-02 16:28  2637282556  阅读(375)  评论(0编辑  收藏  举报