社区
MS-SQL Server
帖子详情
关于建库的问题,我实在是不会了,请大家帮忙!!!
river723
2001-10-25 10:12:54
一个关于工程项目,每个工程有很多大项,每个大项目下有许多小项目,而小项下可能还有小项,也可能没有,如果一个项目下有子项目,那么它的概算值是小项之和,若没有,则要录入,概算值分为土建、设备、安装等几类。概算录好后,每月参照概算录入每个项目的月计划数,完成数,并要求统计月累计、年累计。关于这种情况,不知谁遇到过,应如何建库。
...全文
174
13
打赏
收藏
关于建库的问题,我实在是不会了,请大家帮忙!!!
一个关于工程项目,每个工程有很多大项,每个大项目下有许多小项目,而小项下可能还有小项,也可能没有,如果一个项目下有子项目,那么它的概算值是小项之和,若没有,则要录入,概算值分为土建、设备、安装等几类。概算录好后,每月参照概算录入每个项目的月计划数,完成数,并要求统计月累计、年累计。关于这种情况,不知谁遇到过,应如何建库。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
13 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
river723
2001-10-31
打赏
举报
回复
给分。
net_quite
2001-10-30
打赏
举报
回复
推荐
ykliu1
2001-10-29
打赏
举报
回复
上述条件应加上
and length(工程编号)>length(current_id)
ykliu1
2001-10-29
打赏
举报
回复
你可以采用以下方案,引入父级工程编号字段,如下所示:
工程编号 父级工程编号 年度 月份 类型编号 计划数 完成数
工程编号用于唯一确定该项,而父级工程编号则用于寻找其父级项
另外,如果存在多层问题,可以通过使用特定的工程编号来解决,如:
工程编号 父级工程编号
1 0 第一层
11 1 第二层
12 1 第二层
121 12 第三层
2 0 第一层
21 2 第二层
那么项目1的所有子项查询条件为:
设当前工程编号为current_id,
where 工程编号=substr(工程编号,1,length(current_id))
根据以上条件即可汇总当前项的概算值
river723
2001-10-29
打赏
举报
回复
星期天休息没上网,谢谢icevi(按钮工厂)热心回答。
可是,我的库与icevi(按钮工厂)的基本差不多,但是这种有个麻烦,我在实现插入和删除时会有问题,我无法解决。
插入时:如果插入一条项目,就必须更改其后项目的序号,而若有的有子项的话,则会找不到其父项。
删除时:比如项目级长为2时(01-99),删除后若不更新后续项目序号的话,会导致可新添项目越来越少,若更新的话也会出现插入时的问题。
icevi
2001-10-29
打赏
举报
回复
应该不会,都是按字符排序嘛。
river723
2001-10-29
打赏
举报
回复
icevi(按钮工厂)真是高人, 我想我的问题可以解决了, 再多问一句,级次用“.”来区分时顺序会乱吗?
icevi
2001-10-29
打赏
举报
回复
1:"插入时:如果插入一条项目,就必须更改其后项目的序号,而若有的有子项的话,则会找不到其父项。"是什么意思?
你的工程项目编号应该是有规则的吧,比如A0001,A0002。。。。这之类的,不设及到新增加项目会需要修改以前项目的序号吧?若你的系统这样处理项目编号,是很不好的。一般一个工程项目立项时设定的工程编号,以后一般都不允许再改的,不可能新加一个项目,以前的序号全部重整一次,系统开销大,数据不好管理,真的不合理。
若你的系统中一定要这样,也不是不行,比如一个项目的序号被修改了,将其子项的“上级项目编号 ”也更新为新的编号就可以了。
我建议你可以加一个无意义的ID号(自动增加):
工程定义表:
工程ID号 工程编号 名称描述 是否有下级项目 上级项目ID号 。。。。
概算类型表:
类型编号 类型描述
工程概算数据表:
工程ID号 年度 月份 类型编号 计划数 完成数
这样工程编号的更改维护起来就简单了,子项目与上级项目是通过ID号来联系的,不会受影响。
2:“删除时:比如项目级长为2时(01-99),删除后若不更新后续项目序号的话,会导致可新添项目越来越少,若更新的话也会出现插入时的问题。 ”:
这倒是一个要注意的问题,不过我想告诉你,按上面的表结构,你不需要按级长来判断一个项目是第几级及是否有下级项目。因为表中已经有字段来区别的。若你一定要在工程编号上来区分的话,建议不要用编号长度来区分,你可以参考一下某软件中科目代码的定义,级次是用“.”来区分的。比如一级科目“1001”“1002”,二级科目“1001.01”“1001.02”“1002.101”“1002.02”,这样,级次与长度无关,更灵活些。
希望你能明白:)
river723
2001-10-25
打赏
举报
回复
能详细说一下如何建库吗?不胜感激!
nononono
2001-10-25
打赏
举报
回复
“如果一个项目下若没有子项目”--明细科目
如果一个项目下有子项目”--总帐科目
至于求合计还是输入,与表结构无关,那是你程序的事。
river723
2001-10-25
打赏
举报
回复
与财务科目不一样吧?如果一个项目下若没有子项目,则要录入。
nononono
2001-10-25
打赏
举报
回复
这不就是财务科目嘛, 不复杂。
icevi
2001-10-25
打赏
举报
回复
工程定义表:
工程编号 名称描述 是否有下级项目 上级项目编号 。。。。
概算类型表:
类型编号 类型描述
工程概算数据表:
工程编号 年度 月份 类型编号 计划数 完成数
至于“如果一个项目下有子项目,那么它的概算值是小项之和,若没有,则要录入”、“概算录好后,每月参照概算录入每个项目的月计划数,完成数”在程序中控制。
用第一个表中的“是否有下级项目”判断是否有子项目。子项目的“上级项目编号”指向上级项目的工程编号。
已经很明白了,若还有其他内容,动脑筋想想吧!
ArcGIS与CASS在地籍
建库
中的结合应用
课程采用ArcGIS10.3.1中文版与CASS7.1录制。使用与ArcGIS的10.0、10.1、10.2、10.3、10.4、10.5,利用地籍项目实战,提升ArcGIS的应用水平,掌握不动产中地籍的基本处理方法,是就业佳品。
大模型公司实习生,李开复的公司,全是技术大佬,详情咨询我
面试真的很简单了,但是由于我本人
实在
太菜了,还是挂了跟大家分享一下(一共面了50分钟,20分钟拷打项目,10分钟八股,20分钟手撕算法)(c/c++方向的)项目。江苏的一家企业,应该是综合面试,没有问太多专业的...
Diamond软件使用
问题
集锦
实在
想做的完美,可以在解析结构时,使用envi X 2,找出原子X周围较为合理的H,然后将其固定,后者先在Diamond里找出形成氢键D...A的原子对,然后在解析结构时在这两个原子之间加入Dummy,并将Dummy定义为H,然后对H...
MySQL数据库被攻击,被删库勒索,逼迫我使出洪荒之力进行恢复数据
我给大家看几张图,看看黑客的“佳作” 首先创建一个数据库:README_FHX 然后创建表:README 插入一条数据 内容如下: 内容:以下数据库已被删除:*****。 我们有完整的备份。 要恢复它,您必须向我们的比特币...
学生选课系统(Java版)
暑假回去
实在
无聊(本来要去打工,因为某些原因就回家了)白天给我父
帮忙
干活 晚上坐在电脑前喝着啤酒????敲着代码,简直了#哈哈。一共敲了五个晚上; 最终只完成了一半,是个半成品,但是后面基本都一样,框架已经...
MS-SQL Server
34,590
社区成员
254,589
社区内容
发帖
与我相关
我的任务
MS-SQL Server
MS-SQL Server相关内容讨论专区
复制链接
扫一扫
分享
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章