찾다
데이터 베이스MySQL 튜토리얼员工薪资历史-Union实现
员工薪资历史-Union实现Jun 07, 2016 pm 03:59 PM
역사직원성취하다샐러리

( 2010-8-27 记录)员工薪资历史 -Union 实现: 1、 表结构 Salary ( id , empID , jbxz,yfxz,sfxz,jse , pid ) Perion(id,bm,year,month,sdate,edate) 表结构大体是这样的,其中 bm 是薪资日期编码如 2010-8 ,但是不一定也可以是 108 ,无规则可言。

( 2010-8-27 记录)员工薪资历史 -Union 实现:


\

1、 表结构

Salary ( id , empID , jbxz,yfxz,sfxz,jse , pid )

Perion(id,bm,year,month,sdate,edate…)

表结构大体是这样的,其中 bm 是薪资日期编码如 2010-8 ,但是不一定也可以是 108 ,无规则可言。 Year 是薪资年, month 是薪资月, sdate 和 edate 是开始和结束日期。

2. 本来打算用交叉表实现的,原本已经用交叉表实现了,不过最后未能用交叉表实现“ xxxx 小计”,只能实现的显示“小计”,最后改用union 方式实现。

3. 实现要点:

注意 group by 中的字段及顺序,注意 order by 中的字段及顺序

4 .代码如下:

/**
    统计员工的期间薪资
*/

IF EXISTS (select * from sysobjects where id = object_id('sp_count_salary') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
  DROP PROCEDURE sp_count_salary
GO

CREATE PROCEDURE sp_count_salary 
  @P_EMP_ID INT,         --员工id
  @P_SPLA_PER_ID INT,    --开始期间id
  @P_EPLA_PER_ID INT     --结束期间id
WITH encryption   
AS
BEGIN 
  BEGIN TRANSACTION T1

   DECLARE @V_S_YEAR INT            --开始期间年份
   DECLARE @V_S_MONTH INT           --开始期间月份
   DECLARE @V_E_YEAR INT            --结束期间年份
   DECLARE @V_E_MONTH INT           --结束期间月份
   
   select @V_S_YEAR=pla_per_year,@V_S_MONTH=pla_per_month from pla_period where pla_per_id=@P_SPLA_PER_ID
   select @V_E_YEAR=pla_per_year,@V_E_MONTH=pla_per_month from pla_period where pla_per_id=@P_EPLA_PER_ID 
   
   select (CAST(pla_per_year AS NVARCHAR(4)) + '-' + RIGHT('0' + CAST(pla_per_month AS NVARCHAR(2)), 2)) as '时间', sum(pay_res_btax) N'基本薪资',sum(pay_res_atax) N'应发薪资',sum(pay_res_result) N'实发薪资',sum(pay_res_tax) N'缴税额'
     from pla_period pp,pay_res pr
    where pp.pla_per_id = pr.pay_res_perid
      and pay_res_empid = @P_EMP_ID
      and (pla_per_year > @V_S_YEAR or (pla_per_year = @V_S_YEAR and pla_per_month >= @V_S_MONTH))
      and (pla_per_year < @V_E_YEAR or (pla_per_year = @V_E_YEAR and pla_per_month <= @V_E_MONTH))
 group by pla_per_year,pla_per_month
 union
 (
   select cast(pla_per_year as varchar(10))+N&#39;小计&#39; as &#39;时间&#39;, sum(pay_res_btax) N&#39;基本薪资&#39;,sum(pay_res_atax) N&#39;应发薪资&#39;,sum(pay_res_result) N&#39;实发薪资&#39;,sum(pay_res_tax) N&#39;缴税额&#39;
     from pla_period pp,pay_res pr
    where pp.pla_per_id = pr.pay_res_perid
      and pay_res_empid = @P_EMP_ID
      and (pla_per_year > @V_S_YEAR or (pla_per_year = @V_S_YEAR and pla_per_month >= @V_S_MONTH))
      and (pla_per_year < @V_E_YEAR or (pla_per_year = @V_E_YEAR and pla_per_month <= @V_E_MONTH))
 group by pla_per_year
 )
 union
 (
   select N&#39;合计&#39; as &#39;时间&#39;, sum(pay_res_btax) N&#39;基本薪资&#39;,sum(pay_res_atax) N&#39;应发薪资&#39;,sum(pay_res_result) N&#39;实发薪资&#39;,sum(pay_res_tax) N&#39;缴税额&#39;
     from pla_period pp,pay_res pr
    where pp.pla_per_id = pr.pay_res_perid
      and pay_res_empid = @P_EMP_ID
      and (pla_per_year > @V_S_YEAR or (pla_per_year = @V_S_YEAR and pla_per_month >= @V_S_MONTH))
      and (pla_per_year < @V_E_YEAR or (pla_per_year = @V_E_YEAR and pla_per_month <= @V_E_MONTH))
 )
 order by (CAST(pla_per_year AS NVARCHAR(4)) + &#39;-&#39; + RIGHT(&#39;0&#39; + CAST(pla_per_month AS NVARCHAR(2)), 2))

     
 IF @@ERROR > 0 
 BEGIN
   ROLLBACK TRANSACTION T1
 END 
 ELSE
 BEGIN
   COMMIT TRANSACTION T1
 END
END

GO

--EXEC sp_count_salary 4901,1131,1153
성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
鸣潮沉没的历史5个灯塔位置介绍鸣潮沉没的历史5个灯塔位置介绍Mar 07, 2024 pm 03:58 PM

您是否正在寻找《鸣潮沉没的历史》任务中的五个灯塔?本篇攻略将为您详尽解读这些待发现的灯塔所在之地。我们期望这能助您快速找到所需灯塔,顺利完成任务!鸣潮沉没的历史5个灯塔位置介绍具体位置一览:1、第一座灯塔:请您前往荒石高地,位于北落野正上方处。2、第二座灯塔:接下来请您赴中曲台地,在东北侧传送点周围便可寻见。3、第三座灯塔:请到虎口山脉东南方位,沿着无明湾即可找到。4、第四座灯塔:请您前往怨鸟泽东南方路端传送点,接近山崖之处。5、第五座灯塔:请至无光之森第一无音区,悬崖边缘即为所寻。

如何查看和管理 Linux 命令历史记录如何查看和管理 Linux 命令历史记录Aug 01, 2023 pm 09:17 PM

如何在Linux中查看命令历史记录在Linux中,我们使用history命令来查看所有以前执行的命令的列表。它有一个非常简单的语法:history与历史记录命令配对的一些选项包括:选项描述-c清除当前会话的命令历史记录-w将命令历史记录写入文件-r从历史记录文件重新加载命令历史记录-n限制最近命令的输出数量只需运行history命令即可在Linux终端中查看所有以前执行的命令的列表:除了查看命令历史记录之外,您还可以管理命令历史记录并执行修改先前执行的命令、反向搜索命令历史记录甚至完全删除历史记

Go语言的历史发展及重要里程碑Go语言的历史发展及重要里程碑Apr 04, 2024 am 08:12 AM

Go语言由谷歌开发,最初于2007年构思,2012年发布1.0版本。其关键里程碑包括:2012年:发布Go1.0,引入并发性、内存安全和垃圾回收。2020年:Go2发布,引入模块化、协程改进和对泛型和错误处理的支持。2022年:Go1.19发布,提供性能优化和对泛型类型和一起函数的支持。

任天堂新员工留存率达 98.8%,去年平均年薪 988 万日元任天堂新员工留存率达 98.8%,去年平均年薪 988 万日元Sep 14, 2023 am 08:49 AM

本站9月2日消息,任天堂官网披露员工数据,新员工留存率(2019年4月入职并于2022年4月继续在公司工作的应届毕业生比例)高达98.8%,其中男性100%、女性96%。这意味着任天堂每聘用100名新员工,约有一人决定辞职,而日本平均新员工留存率为70%。冈本启武,UZUZ株式会社的首席执行官,表示:“大公司通常提供高薪和良好福利,因此员工留存率较高,尤其是任天堂作为日本受欢迎的代表公司。”“去年,任天堂的平均年薪为988万日元(约合49.2万元人民币),虽然游戏行业中有一些公司的年薪比任天堂更

快手历史亲密关系怎么看快手历史亲密关系怎么看Apr 01, 2024 pm 04:51 PM

快手历史亲密关系允许用户将自己与特定好友之间的亲密程度标注在用户资料页上,从而展示出彼此之间的亲密关系,但是历史上的关系怎么看呢?如果你想知道的话,小编今天分享的教程你可以学习下吧。快手历史亲密关系查看方法第一步、打开快手个人主页,点击上方【亲密关系】图标。第二步、进入我的亲密朋友界面,点击亲密好友右侧【亲密值】图标。第三步、进入亲密值详情页,找到【亲密印记】卡片,即可查看建立亲密关系时间。

AI抢饭碗成真!近500家美国企业用ChatGPT取代员工,有公司省下超10万美元AI抢饭碗成真!近500家美国企业用ChatGPT取代员工,有公司省下超10万美元Apr 07, 2023 pm 02:57 PM

自从ChatGPT掀起浪潮,不少人都在担心AI快要抢人类饭碗了。然鹅,现实可能更残酷QAQ......据就业服务平台Resume Builder调查统计,在1000多家受访美国企业中,用ChatGPT取代部分员工的,比例已达到惊人的48%。在这些企业中,有49%已经启用ChatGPT,还有30%正在赶来的路上。就连央视财经也为此专门发过一个报道:相关话题还曾一度冲上了知乎热榜,众网友表示,不得不承认,现在ChatGPT等AIGC工具已势不可挡——浪潮既来,不进则退。有程序员还指出:用过Copil

凤凰新闻如何查看历史   查看历史记录的方法凤凰新闻如何查看历史 查看历史记录的方法Mar 12, 2024 pm 07:16 PM

  我们大家在这款凤凰新闻APP当中,都是会有机会让大家了解到各种各样的一些新闻资讯,这里的信息资源超多,各种各样的一些热点事件,都能够全部的掌握到,所以大家即时不出门,一样的都能够知晓天下大小事,绝对都是不会落后,很多的一些时候,都能够发现这里的新闻版块超多,各种的一些信息版块,随由大家自由的点击查看,当然大家有自己喜欢的一些版块领域,都能关注订阅一番,可以每一次都推荐出相关的一些资讯,非常的符合你们的需求,看的非常的满意,平常大家所看的这一些资讯,都能保存下来,大家可以随时的查看到自己的这一

C语言的起源和发展历史C语言的起源和发展历史Mar 18, 2024 pm 06:48 PM

标题:C语言的起源和发展历史C语言是一种广泛应用于系统软件和应用软件开发的高级编程语言。它具有结构化、模块化和可移植性等特点,是计算机领域中最为重要和流行的编程语言之一。本文将介绍C语言的起源和发展历史,并结合具体的代码示例进行说明。一、C语言的起源C语言的历史可以追溯到1969年,当时贝尔实验室的DennisRitchie和KenThompson为了开

See all articles

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

뜨거운 도구

mPDF

mPDF

mPDF는 UTF-8로 인코딩된 HTML에서 PDF 파일을 생성할 수 있는 PHP 라이브러리입니다. 원저자인 Ian Back은 자신의 웹 사이트에서 "즉시" PDF 파일을 출력하고 다양한 언어를 처리하기 위해 mPDF를 작성했습니다. HTML2FPDF와 같은 원본 스크립트보다 유니코드 글꼴을 사용할 때 속도가 느리고 더 큰 파일을 생성하지만 CSS 스타일 등을 지원하고 많은 개선 사항이 있습니다. RTL(아랍어, 히브리어), CJK(중국어, 일본어, 한국어)를 포함한 거의 모든 언어를 지원합니다. 중첩된 블록 수준 요소(예: P, DIV)를 지원합니다.

MinGW - Windows용 미니멀리스트 GNU

MinGW - Windows용 미니멀리스트 GNU

이 프로젝트는 osdn.net/projects/mingw로 마이그레이션되는 중입니다. 계속해서 그곳에서 우리를 팔로우할 수 있습니다. MinGW: GCC(GNU Compiler Collection)의 기본 Windows 포트로, 기본 Windows 애플리케이션을 구축하기 위한 무료 배포 가능 가져오기 라이브러리 및 헤더 파일로 C99 기능을 지원하는 MSVC 런타임에 대한 확장이 포함되어 있습니다. 모든 MinGW 소프트웨어는 64비트 Windows 플랫폼에서 실행될 수 있습니다.

SublimeText3 영어 버전

SublimeText3 영어 버전

권장 사항: Win 버전, 코드 프롬프트 지원!

SecList

SecList

SecLists는 최고의 보안 테스터의 동반자입니다. 보안 평가 시 자주 사용되는 다양한 유형의 목록을 한 곳에 모아 놓은 것입니다. SecLists는 보안 테스터에게 필요할 수 있는 모든 목록을 편리하게 제공하여 보안 테스트를 더욱 효율적이고 생산적으로 만드는 데 도움이 됩니다. 목록 유형에는 사용자 이름, 비밀번호, URL, 퍼징 페이로드, 민감한 데이터 패턴, 웹 셸 등이 포함됩니다. 테스터는 이 저장소를 새로운 테스트 시스템으로 간단히 가져올 수 있으며 필요한 모든 유형의 목록에 액세스할 수 있습니다.

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.