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,查询该科目的子节点,如果子节点存在,该科目非也叶子节点,否者该科目为叶子节点