员工薪资历史-Union实现
( 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'小计' 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 ) union ( select N'合计' 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)) ) order by (CAST(pla_per_year AS NVARCHAR(4)) + '-' + RIGHT('0' + 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

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Adakah anda sedang mencari lima rumah api dalam pencarian History of the Sinking Tide? Panduan ini akan memberi anda penjelasan terperinci tentang tempat rumah api ini sedang menunggu untuk ditemui. Kami berharap ini akan membantu anda mencari rumah api yang anda perlukan dengan cepat dan menyelesaikan misi anda dengan jayanya! Sejarah tenggelamnya lokasi rumah api Mingtide Five diperkenalkan dan lokasi khusus disenaraikan: 1. Rumah api pertama: Sila pergi ke tanah tinggi batu tandus, terletak betul-betul di atas Beiluoye. 2. Rumah api kedua: Seterusnya, sila pergi ke Platform Zhongqu, yang boleh ditemui di sekitar titik teleportasi di sebelah timur laut. 3. Rumah api ketiga: Sila pergi ke tenggara Pergunungan Hukou dan cari di sepanjang Teluk Wuming. 4. Rumah api keempat: Sila pergi ke titik teleportasi di hujung tenggara Angry Birds Zee, berhampiran tebing. 5. Rumah api kelima: Sila pergi ke zon senyap pertama Hutan Tanpa Cahaya, dan anda akan menemuinya di pinggir tebing.

Bagaimana untuk melaksanakan log masuk WeChat dwi pada telefon mudah alih Huawei? Dengan kebangkitan media sosial, WeChat telah menjadi salah satu alat komunikasi yang sangat diperlukan dalam kehidupan seharian orang ramai. Walau bagaimanapun, ramai orang mungkin menghadapi masalah: log masuk ke beberapa akaun WeChat pada masa yang sama pada telefon mudah alih yang sama. Bagi pengguna telefon mudah alih Huawei, tidak sukar untuk mencapai log masuk WeChat dwi Artikel ini akan memperkenalkan cara mencapai log masuk WeChat dwi pada telefon mudah alih Huawei. Pertama sekali, sistem EMUI yang disertakan dengan telefon mudah alih Huawei menyediakan fungsi yang sangat mudah - pembukaan dua aplikasi. Melalui fungsi pembukaan dwi aplikasi, pengguna boleh serentak

Bagaimana untuk melaksanakan fungsi klon WeChat pada telefon mudah alih Huawei Dengan populariti perisian sosial dan penekanan yang semakin meningkat terhadap privasi dan keselamatan orang ramai, fungsi klon WeChat telah beransur-ansur menjadi tumpuan perhatian. Fungsi klon WeChat boleh membantu pengguna log masuk ke berbilang akaun WeChat pada telefon mudah alih yang sama pada masa yang sama, menjadikannya lebih mudah untuk diurus dan digunakan. Tidak sukar untuk melaksanakan fungsi klon WeChat pada telefon mudah alih Huawei Anda hanya perlu mengikuti langkah berikut. Langkah 1: Pastikan versi sistem telefon mudah alih dan versi WeChat memenuhi keperluan Pertama, pastikan versi sistem telefon mudah alih Huawei anda telah dikemas kini kepada versi terkini, serta Apl WeChat.

Bahasa pengaturcaraan PHP ialah alat yang berkuasa untuk pembangunan web, yang mampu menyokong pelbagai logik dan algoritma pengaturcaraan yang berbeza. Antaranya, melaksanakan jujukan Fibonacci adalah masalah pengaturcaraan biasa dan klasik. Dalam artikel ini, kami akan memperkenalkan cara menggunakan bahasa pengaturcaraan PHP untuk melaksanakan jujukan Fibonacci, dan melampirkan contoh kod tertentu. Jujukan Fibonacci ialah jujukan matematik yang ditakrifkan seperti berikut: unsur pertama dan kedua bagi jujukan ialah 1, dan bermula dari unsur ketiga, nilai setiap unsur adalah sama dengan jumlah dua unsur sebelumnya. Beberapa elemen pertama urutan

Bahasa Go telah dibangunkan oleh Google Ia pada asalnya diilhamkan pada tahun 2007 dan versi 1.0 dikeluarkan pada tahun 2012. Pencapaian pentingnya termasuk: 2012: Go 1.0 dikeluarkan, memperkenalkan concurrency, keselamatan memori dan pengumpulan sampah. 2020: Go2 dikeluarkan, memperkenalkan modulariti, penambahbaikan coroutine dan sokongan untuk generik dan pengendalian ralat. 2022: Go 1.19 dikeluarkan, menyediakan pengoptimuman prestasi dan sokongan untuk jenis dan fungsi generik.

Dalam bidang pembangunan perisian hari ini, Golang (bahasa Go), sebagai bahasa pengaturcaraan yang cekap, ringkas dan sangat bersesuaian, semakin digemari oleh pembangun. Perpustakaan standardnya yang kaya dan ciri-ciri konkurensi yang cekap menjadikannya pilihan berprofil tinggi dalam bidang pembangunan permainan. Artikel ini akan meneroka cara menggunakan Golang untuk pembangunan permainan dan menunjukkan kemungkinan besarnya melalui contoh kod tertentu. 1. Kelebihan Golang dalam pembangunan permainan Sebagai bahasa yang ditaip secara statik, Golang digunakan dalam membina sistem permainan berskala besar.

Panduan Pelaksanaan Keperluan Permainan PHP Dengan populariti dan perkembangan Internet, pasaran permainan web menjadi semakin popular. Ramai pembangun berharap untuk menggunakan bahasa PHP untuk membangunkan permainan web mereka sendiri, dan melaksanakan keperluan permainan adalah langkah utama. Artikel ini akan memperkenalkan cara menggunakan bahasa PHP untuk melaksanakan keperluan permainan biasa dan menyediakan contoh kod khusus. 1. Cipta watak permainan Dalam permainan web, watak permainan adalah elemen yang sangat penting. Kita perlu mentakrifkan atribut watak permainan, seperti nama, tahap, nilai pengalaman, dll., dan menyediakan kaedah untuk mengendalikannya

Melaksanakan operasi pembahagian yang tepat di Golang adalah keperluan biasa, terutamanya dalam senario yang melibatkan pengiraan kewangan atau senario lain yang memerlukan pengiraan ketepatan tinggi. Operator bahagian terbina dalam Golang "/" dikira untuk nombor titik terapung, dan kadangkala terdapat masalah kehilangan ketepatan. Untuk menyelesaikan masalah ini, kami boleh menggunakan perpustakaan pihak ketiga atau fungsi tersuai untuk melaksanakan operasi pembahagian yang tepat. Pendekatan biasa ialah menggunakan jenis Tikus daripada pakej matematik/besar, yang menyediakan perwakilan pecahan dan boleh digunakan untuk melaksanakan operasi pembahagian yang tepat.
