USE [UFDATA_999_2014]
GO
/****** Object: StoredProcedure [dbo].[p_XMonPerNums] Script Date: 06/12/2017 16:32:06 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author: <Author,,Name>
-- Create date: <Create Date,,>dEnterUnitDate
-- Description: <Description,,> 当月在职员工统计
-- =============================================
ALTER PROCEDURE [dbo].[p_XMonPerNums] @XDate datetime AS
BEGIN declare @NowMonFir datetime
set @NowMonFir=convert(datetime,convert(nchar(),YEAR(@XDate))+'-'+CONVERT(nchar(),MONTH(@XDate))+'-01') select T1.cDept_num,T1.cDepName,isnull(T2.aaa,) as PriveMonth,isnull(T3.aaa,) as NowMonthIn,isnull(T4.aaa,) as NowMonthGo,(isnull(T2.aaa,) + isnull(T3.aaa,) - isnull(T4.aaa,) ) as NowMonthNum from(
(select h.cDept_num,d.cDepName from Department d join hr_hi_person h on d.cDepCode=h.cDept_num GROUP BY h.cDept_num,d.cDepName ) T1
left join
(select isnull(COUNT(h.cDept_num),) as aaa,h.cDept_num from hr_hi_person h WHERE dEnterUnitDate <@NowMonFir AND (dLeaveDate is NULL OR dLeaveDate>=@NowMonFir) GROUP BY cDept_num ) T2
on T1.cDept_num=T2.cDept_num
left JOIN
(select isnull(COUNT(h.cDept_num),) as aaa,h.cDept_num from hr_hi_person h WHERE dEnterUnitDate>=@NowMonFir AND dEnterUnitDate<DATEADD(MONTH,,@NowMonFir) GROUP BY cDept_num ) T3
on T1.cDept_num=T3.cDept_num
left JOIN
(select isnull(COUNT(h.cDept_num),) as aaa,h.cDept_num from hr_hi_person h WHERE dLeaveDate>=@NowMonFir AND dLeaveDate<DATEADD(MONTH,,@NowMonFir) GROUP BY cDept_num ) T4
on T1.cDept_num=T4.cDept_num ) END

当月在职员工统计

CREATE PROCEDURE p_lll
@LDate datetime
AS
BEGIN select * into
#templxc
from
(
SELECT sum(rds.iPrice ) AS iPrice ,ic2.cInvCName,ic2.cInvCCode,det2.cDepName,rd.dDate
FROM rdrecord11 rd
JOIN rdrecords11 rds
ON rd.id=rds.id
JOIN Inventory inv
ON rds.cInvCode=inv.cInvCode
JOIN Department det2
ON LEFT(rd.cDepCode,)=det2.cDepCode
JOIN InventoryClass ic2
ON LEFT(rds.cInvCode,)=ic2.cInvCCode
WHERE Ic2.cInvCCode='' OR Ic2.cInvCCode=''
GROUP BY det2.cDepName,ic2.cInvCName,rd.dDate,ic2.cInvCCode
UNION
SELECT sum(rds.iPrice ) AS iPrice ,ic2.cInvCName,ic2.cInvCCode,det2.cDepName,rd.dDate
FROM rdrecord11 rd
JOIN rdrecords11 rds
ON rd.id=rds.id
JOIN Inventory inv
ON rds.cInvCode=inv.cInvCode
JOIN Department det2
ON LEFT(rd.cDepCode,)=det2.cDepCode
JOIN InventoryClass ic2
ON LEFT(rds.cInvCode,)=ic2.cInvCCode
WHERE Ic2.cInvCCode=''
GROUP BY det2.cDepName,ic2.cInvCName,rd.dDate,ic2.cInvCCode)a declare @YFDate datetime
DECLARE @MFDate datetime
SET @YFDate=CONVERT(datetime,convert(nvarchar(),YEAR(@LDate))+'-01-01')
SET @MFDate=CONVERT(datetime,convert(nvarchar(),YEAR(@LDate))+'-'+convert(nvarchar(),month(@LDate))+'-01') SELECT T0.cDepname,T0.cInvCName,T1.a as TDate,T2.a as TMonth,T3.a as TYear from(
(SELECT cDepname,cInvCCode,cInvCName from #templxc group BY cDepname,cInvCCode,cInvCName) T0
left join
(SELECT cInvCCode,SUM(iPrice) As a FROM #templxc where dDate=@LDate GROUP BY cInvCCode) T1
on T0.cInvCCode=T1.cInvCCode
left join
(select cInvCCode,SUM(iPrice) As a FROM #templxc where dDate>=@MFDate and dDate<=@LDate GROUP BY cInvCCode) T2
on T1.cInvCCode=T2.cInvCCode
left join
(select cInvCCode,SUM(iPrice) As a FROM #templxc where dDate>=@YFDate and dDate<=@LDate GROUP BY cInvCCode) T3
on T1.cInvCCode=T3.cInvCCode) ORDER BY cDepname END
GO

不同部门费用

SELECT sum(rds.iPrice ) AS iPrice ,ic2.cInvCName,ic2.cInvCCode,det2.cDepName,det2.cDepCode,rd.dDate
FROM rdrecord11 rd --材料出库单主表
JOIN rdrecords11 rds --材料出库单子表
ON rd.id=rds.id
JOIN Inventory inv --存货档案
ON rds.cInvCode=inv.cInvCode
JOIN Department det2 --部门基本信息
ON rd.cDepCode=det2.cDepCode
JOIN InventoryClass ic2 --存货分类档案
ON LEFT(rds.cInvCode,)=ic2.cInvCCode
WHERE Ic2.cInvCCode='' OR Ic2.cInvCCode=''
GROUP BY det2.cDepName,ic2.cInvCName,rd.dDate,ic2.cInvCCode,det2.cDepCode
UNION
SELECT sum(rds.iPrice ) AS iPrice ,ic2.cInvCName,ic2.cInvCCode,det2.cDepName,det2.cDepCode,rd.dDate
FROM rdrecord11 rd
JOIN rdrecords11 rds
ON rd.id=rds.id
JOIN Inventory inv
ON rds.cInvCode=inv.cInvCode
JOIN Department det2
ON rd.cDepCode=det2.cDepCode
JOIN InventoryClass ic2
ON LEFT(rds.cInvCode,)=ic2.cInvCCode
WHERE Ic2.cInvCCode=''
GROUP BY det2.cDepName,ic2.cInvCName,rd.dDate,ic2.cInvCCode,det2.cDepCode

V

EXEC sys.sp_rename p_lll,p_lll  ——修改名称 旧名字,新名字
DROP PROCEDURE dbo.p_lxc  ——删除

最新文章

  1. C#语音朗读文本 — TTS的实现
  2. AngularJS 依赖注入
  3. 200行代码搞定炸金花游戏(PHP版)
  4. Oracle11.2新特性之listagg函数 (行列转换)
  5. PostgreSQL中使用外部表
  6. 2016032101 - eclipse3.7+jdk1.6+maven3.0.5
  7. POJ 1860 Currency Exchange + 2240 Arbitrage + 3259 Wormholes 解题报告
  8. HDU 1016 Prime Ring Problem (回溯法)
  9. poj1637Sightseeing tour(混合图欧拉回路)
  10. office2013破解工具
  11. Java模拟post-get提交
  12. jq中的移除事件
  13. jQuery插件之validation插件
  14. 友盟分享到微信 监听不执行 监听只执行onStart,(onResult,onError,onCancel 不执行)
  15. CodeChef Cards, bags and coins [DP 泛型背包]
  16. myEclipse配置jdk1.7
  17. 剑指Offer 40. 数组中只出现一次的数字 (数组)
  18. OptionParser命令参数介绍及使用
  19. vagrant特性——基于docker开发环境(docker和vagrant的结合)-1-基本使用
  20. 为python安装matplotlib模块

热门文章

  1. 管理型交换机IEEE 802.1Q VLAN设置应用实例
  2. 2018.10.12 NOIP模拟 棋盘问题(切比雪夫距离)
  3. yii2 ActiveRecord的生命周期
  4. Word插入圆圈数字
  5. java.util.concurrent.ExecutionException: java.lang.OutOfMemoryError: Java he
  6. SimpleAdapter 网络视图:带预览的图片浏览器
  7. 自己动手绘制ToolBar
  8. [IOS] 详解图片局部拉伸 + 实现图片局部收缩
  9. Fig 7.2.4 &amp; Fig 7.3.2
  10. [翻译] FastReport 变量列表使用