关于财务的科目:判断每层科目的上一层科目是否存在

loveailon 2003-03-30 07:43:45
比如有科目如下
每层科目长度:kmlen(0-6)共7层[3-2-2-2-2-2-2]
第一层科目长度为kmlen(0), 第二层科目长度为kmlen(1),依此类推
表名:kmtable
id name
521 xxx
52101 xxx
52102 xxx
5210301 xxx
521020102 xxx
521010301 xxx
52104 xxx
可以看出52103、5210201、5210103科目不存在


如何用编程sql语句实现
...全文
12 点赞 收藏 7
写回复
7 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
loveailon 2003-04-02
应该如何设计呢,用友等都是如此设计的啊?
对不起,两天没上网拉
回复
victorycyz 2003-04-01
To:loveailon(阿伦)
你这样说就更不对了, 只要别人不能更改表的结构,无论怎么改数据,都应该不能出现关联错误才对。
所以说, 还是你的结构设计有问题。
回复
victorycyz 2003-03-31
问题不在于找出类似52103的科目存不存在。
问题是你在建库的时候就要设计出防止出现这类错误的结构。
比如可以多加一个子ID字段之类的方法。
回复
limit 2003-03-31
select left(id,3),name from kmtable where len(id)=5 and (left(id,3) not in (select id from kmtable))
union all
select left(id,5),name from kmtable where len(id)=7 and (left(id,5) not in (select id from kmtable))
....
回复
remanwang 2003-03-31
数据库设计有问题,明显违反第一范式
回复
loveailon 2003-03-31
上面的兄弟您好,谢谢您的参与,我是为了防止用户和维护人员在数据库里改动数据,所以才这样判断
回复
bigbigfans 2003-03-30
kmtable表中查找 Left(编码,kmlen(i))
回复
相关推荐
发帖

1187

社区成员

VB 数据库(包含打印,安装,报表)
申请成为版主
帖子事件
创建了帖子
2003-03-30 07:43
社区公告
暂无公告