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

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语句实现
...全文
45 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
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))

1,216

社区成员

发帖
与我相关
我的任务
社区描述
VB 数据库(包含打印,安装,报表)
社区管理员
  • 数据库(包含打印,安装,报表)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧