求201612某部门的上月结存(存休+特休)-本月请假+本月加班=本月结存

sinat_37247208 2017-01-04 12:40:20
一个说起来挺简单但是越快越头疼的一个项目,求懂的大神教一下,可能字数有些多。但是还是希望有大大求教一下!
求一个部门首先我要用总表里也就是hrs110ma里把部门人数提取出来,通过部门对应上级部门表也就是hrs009m3。通过表关联外加一些部门所属条件从而获得部门具体人数和信息,也就是下列语句
PS:hrs110ma人员信息总表
hrs009m3部门对应上级部门表
hrs390t0员工月度考勤总档(查询2个假别,salaryid为3032上月存休和3033上月特休在一张表内同个字段里部分要相加)
hrs351t0加班表(内含TRUM,也就是加班时数)
hrs321t0请假表(同上,内含TRUM字段,也就是请假时数)
大概的意思就是,某部门每个人hrs390t0的上月结存时数(salaryid字段下为3032和3033的字段的QTY的值,相加所得的新的QTY)-hrs351t0的加班时数(TRUM字段)+hrs321t0的请假时数(TRUM字段)=本月结存。成为新的QTY字段即可。最后查询结果只要显示IDNO,EMPLNM,EMPLNO,DEPTID,DEPTNM,QTY,YYYYMM(201612),FACTNO,trnsid

select *
from pec.hrs110ma
inner join pec.hrs009m3 on pec.hrs110ma.DEPTID = pec.hrs009m3.DEPTID--几个表中的DEPTID部门ID是一样的,还有IDNO身份证号,EMPLNM员工姓名,EMPLNO员工编号,DEPTNM部门名称
where SUP_DEPTID = '00004199'--SUP_DEPTID是上级部门代号连接HRS009M3
and pec.hrs110ma.factno = '3300'--factno是厂别
and trnsid = '1';--trnsid代表是否在职

select IDNO, EMPLNM, DEPTNM, EMPLNO, DEPTNO, DEPTID
from pec.hrs110ma
where stop_date is null
and trnsid = 1
and deptid in (select deptid
from pec.hrs009m3
where SUP_DEPTNO = '01040000'
and factno = '3300'
and stop_date is null)--这段语句和上一段效果是一样的,stop_date is null和trnsid =1也是一样的道理。

之后我就懵逼了。子关联没有用,不会把人员导到hrs390t0,下面这个语句是我写的,但是感觉很不对。。。因为不会把上面的信息导进去还有就是3033和3032没有相加。这段应该是错的,我就发下希望不要误导各位大神。
select (pec.hrs390t0.QTY - pec.hrs321t0.TNUM + pec.hrs351t0.TNUM) as TNUM
from PEC.HRS390T0, PEC.HRS321T0, PEC.HRS351T0
where PEC.HRS390T0.QTY = PEC.HRS321T0.TNUM
and PEC.HRS351T0.TNUM = PEC.HRS321T0.TNUM
and pec.hrs390T0.SALARYID='3032'

字有些多了,还是希望有大神帮帮忙,有强迫症又不是很会,特来请教。谢谢各位了。
...全文
289 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
POM_24 2017-01-06
  • 打赏
  • 举报
回复
with 
t1 as
--以下是员工信息统计表
 (select a.IDNO, a.EMPLNM, a.DEPTNM, a.EMPLNO, a.DEPTNO, a.DEPTID
    from pec.hrs110ma a
   inner join pec.hrs009m3 b
      on a.DEPTID = b.DEPTID
   where b.SUP_DEPTID = '00004199'
     and b.factno = '3300'
     and a.trnsid = '1'
     and b.stop_date is null) 
t2 as
--下面这个是员工的上月结存时数统计表
 (select /*+ordered*/
   a.IDNO, (a.QTY - b.TNUM + c.TNUM) as TNUM
    from (select t.IDNO, sum(t.QTY) as QTY
    from PEC.HRS390T0 t
   where t.SALARYID in ('3032', '3033')
   group by t.IDNO) a, PEC.HRS321T0 b, PEC.HRS351T0 c
   where a.IDNO = b.IDNO
     and b.IDNO = c.IDNO)
select t1.*, t2.TNUM from t1, t2 where t1.IDNO = t2.IDNO
我猜你是这种情况吧,至于YYYYMM(201612),FACTNO,trnsid 这个3个字段,猜不出从哪个表来了。
POM_24 2017-01-06
  • 打赏
  • 举报
回复
IDNO,EMPLNM,EMPLNO,DEPTID,DEPTNM,QTY,YYYYMM(201612),FACTNO,trnsid 这些个字段原来都是属于哪个表的,请说明。
sinat_37247208 2017-01-04
  • 打赏
  • 举报
回复
有人吗?大神们
数据库设计规范-命名规范全文共4页,当前为第1页。数据库设计规范-命名规范全文共4页,当前为第1页。数据库设计规范(命名规范) 数据库设计规范-命名规范全文共4页,当前为第1页。 数据库设计规范-命名规范全文共4页,当前为第1页。 1 目的 规范数据库设计。 2 概述 从数据库的设计原则 设计文档几方面论述数据库设计的规范思想及命名规则。 3 数据库应用结构 根据对一般业务系统的分析,将数据库和程序系统统一进行整体描述,展示数据库的 表之间以及与程序模块间的关系。 3.1 数据表和程序模块的分类 根据"处理特点",将数据表和程序模块进行分类如下: 数据表分类:业务数据表、基本编码表、辅助编码表、系统信息表、累计数据表、结 算数据表、决策数据表。 程序模块分类:初始化、业务处理、完整性检测与修正、结算处理、统计处理。 3.1.1 数据表分类说明 业务数据表:记录业务发生的过程和结果。如,合同、出仓单、申请单、凭证。 基本编码表:描述业务实体的基本信息和编码。如,产品、客户、供应商、雇员。 辅助编码表:描述属性的列表值。如,合同类型、职称、民族、付款方式。 系统信息表:存放与系统操作、业务控制有关的参数。如,用户信息、权限、用户配 置信息、成本核算方式。 累计数据表:存放业务的当前值和累计值。如,当前库存、当前存款、累计销售、累 计支出、应收账款。 结算数据表:存放各个时期末的结存数。如,末库存、末银行存款、应收账款 结。 决策数据表:存放各个时期内发生的统计值。如,销售统计、回款统计、出入库 统计。 3.1.2 程序模块分类说明 初始化:系统运行前对系统进行数据的初始化。如,库存初始化。 业务处理:业务过程的控制和结果记录。如,合同录入、费用审批、出入库。 完整性检测与修正:对累计数据表进行检查并自动修正。如对当前库存、当前存款、 累计销售的检查和重新计算。 结算处理:计算并记录各个时期末的结存数。库存结、应收账款结。 统计处理:计算并记录各个时期内发生的统计数。如,统计销售、统计回款、统 计出入库。 3.2 数据表间的关系 业务数据表<-->基本编码表 主-外键关系。如,合同表<-->客户编码表; 业务数据表<-->辅助编码表 主-外键关系。如,合同表<-->付款方式; 业务数据表、累计数据表、结算数据表:累计数据表=结算数据表(上期末) + 业务数 据表(本期内发生)。如当前库存=上末库存数+(入库数-出库数); 决策数据表<-->业务数据表 决策数据表的数据是由业务数据表中数据导出(统计)的; 数据库设计规范-命名规范全文共4页,当前为第2页。数据库设计规范-命名规范全文共4页,当前为第2页。3.3 数据表与程序模块间的关系 由一个例子(仓库管理)来说明数据表与程序模块之间的关系: . 系统使用前,由初始化模块对库存数(累计数据表)和上末库存数(结存数据表)进 行初始化; . 当有入库业务发生时,由入库模块(业务处理)将入库单录入并保存到入库单明细帐( 业务数据表)中,同时将入库数累加到库存数(累计数据表)中; . 定期或不定期,库存数核算模块(检查完整性检测与修正)根据上末的库存数(结存 数据表)、已发生数(业务数据表)检查当前的库存数(累计数据表)是否符合,不符合 则给出提示,可手工或自动进行更正(当前库存数=上末库存数+入库数-出库数 ); . 每初,进行上结处理。结模块(结算处理)根据上初的库存数(结存数据 表)、上发生数(业务数据表)计算出上末的库存数(累计数据表)。公式为:上末库 存数=上初库存数+上入库数-上出库数; . 每个结后,库存业务统计模块(统计处理)统计上的各种库存商品的入库和 出库数,便于查询和生成报表,也作为决策支持的数据基础。 3.4 数据表命名时对数据表分类的考虑 . 业务数据表:t_d_<系统标识>_<表标识>。如销售系统的合同表 t_d_SH_Contract 或 t_d_SH_合同; . 基本编码表:t_b_[<系统标识>]_<表标识>。如客户编码表t_b_Customer 或 t_b_客 户; . 辅助编码表:t_a_[<系统标识>]_<表标识>。如合同类别t_a_ContType 或 t_a_合同 类别; . 系统信息表:t_s_[<系统标识>]_<表标识>。如用户表t_s_User 或 t_s_用户; . 累计数据表:t_t_<系统标识>_<表标识>。如当前库存表t_t_SO_Stock 或 t_t_SO_ 库存; . 结算数据表:t_c_<系统标识>_<表标识>。如库存结表t_c_SO_StockMonth 或 t_c_SO_库存结; . 决策数据表:t_w_<系统标识>_<表标识>。如销售统
进销存系统 需 说 明 书 作者: 完成日期: 审核人: 审核日期: 批准日期: XXXX公司 目录 第一章: 客户群体 4 第二章: 客户的信息化现状及市场办公系统现状 4 第三章: 软件的应用范围 4 第四章: 软件部署后的运行环境描述 4 第五章: 软件的性能要 4 第六章: 软件的稳定性要 4 第七章: 软件的扩展性要 4 第八章: 软件支撑平台的要 4 第九章: 软件的业务功能要 5 9.1 建立帐套 5 9.2 录入基础资料 5 9.2.1 客户档案 5 9.2.2 员工档案 6 9.2.3 仓库档案 6 9.2.4 资金帐户 6 9.2.5 其他费用支出项目 6 9.2.6 其他收入项目 7 9.2.7 常用商品档案 7 9.3 录入建帐期初数据 7 9.3.1 期初商品库存 7 9.3.2 期初应付款 8 9.3.3 期初应收款 8 9.3.4 期初现金银行 8 9.3.5 期初借入款余额 8 9.3.6 期初借出款余额 8 9.4 进货管理 8 9.4.1 进货管理 8 9.4.2 收付款 11 9.5 销售管理 16 9.5.1 销售管理 16 9.5.2 收退款 19 9.6 存货管理 23 9.6.1 商品库存 23 9.6.2 其他方式入库 24 9.6.3 其他方式出库 24 9.6.4 仓库调拨 24 9.6.5 盘点盈余 24 9.6.6 盘点亏损 25 9.6.7 组装与拆卸 25 9.7 财务管理 26 9.7.1 现金银行 26 9.7.2 银行存取 26 9.7.3 其他收入 26 9.7.4 其他费用支出 26 9.7.5 对外借款(借入) 27 9.7.6 对外借款(借出) 27 第十章: 查询及报表 27 第十一章: 系统管理 27 第十二章: 参考资料 27 第一章:客户群体 第二章:客户的信息化现状及市场办公系统现状 第三章:软件的应用范围 第四章:软件部署后的运行环境描述 硬件环境: 操作系统: 应用服务器: 数据库: 第五章:软件的性能要 第六章:软件的稳定性要 第七章:软件的扩展性要 短期内用户的增加速度会很快,这样一方面在考虑用户服务器的负载能力,另一方面要考虑网络的带宽。 第八章:软件支撑平台的要 网络环境: 服务器端: 客户端: 硬件环境: 服务器: 高性能专用数据库服务器和程序运行服务器。 操作系统: 服务器: 数据库: 第九章:软件的业务功能要 进销存业务总体流程图: 9.1 词汇解释  加权平均法 加权平均法,亦称全一次加权平均法,是指以当全部进货数量加上初存货数量作为权数,去除当全部进货成本加上初存货成本,计算出存货的加权平均单位成本,以此为基础计算当发出存货的成本和期末存货的成本的一种方法。 存货的加权平均单位成本=(结存货成本+购入存货成本)/(结存存货数量+购入存货数量) 末库存存货成本=末库存存货数量×存货加权平均单位成本 本期发出存货的成本=本期发出存货的数量×存货加权平均单位成本 或 =期初存货成本+本期收入存货成本-期末存货成本 加权平均法,在市场预测里,就是在平均数时,根据观察期各资料重要性的不同,分别给以不同的权数加以平均的方法。  其特点是:所得的平均数,已包含了长期趋势变动。  加权平均法的优缺点:  优点:计算方法简单。  缺点:不利于核算的及时性;在物价变动幅度较大的情况下,按加权平均单价计算的期末存货价值与现行成本有较大的差异。适合物价变动幅度不大的情况。  A鸡蛋34元一个,买了10个,B鸡蛋买了45元一个,买了20个,问买了A鸡蛋和B鸡蛋的平均价格是多少?  这时肯定不能用算术平均,直接(34+45)/2,因为他们买的数量不一样,因此要计算他们的平均价格,只能用所买的数量作为权数,进行加权平均:  (34×10+45×20)/(10+20)= 1240 /30 = 41.33元/个  移到加权平均法 移动加权平均法,是指以每次进货的成本加上原有库存存货的成本,除以每次进货数量与原有库存存货的数量之和,据以计算加权平均单位成本,以此为基础计算当发出存货的成本和期末存货的成本的一种方法. 移动加权平均法: 移动加权平均法下库存商品的成本价格根据每次收入类单据自动加权平均;其计算方法是以各次收入数量和金额与各次收入前的数量和金额为基础,计算出移动加权平均单价。其计算公式如下: 移动加权平均单价= (本次收入前结存商品金额+本次收入商品金额)/(本次收入前结存商品数量+本次收入商品数量 ) 移动加权平均法计算出来的商品成本比较均衡和准确,但计算起来的工作量大,一般适用于经营品种不多、或者前后购进商品的

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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