TECHNOLOGIES
FORUMS
JOBS
BOOKS
EVENTS
INTERVIEWS
Live
MORE
LEARN
Training
CAREER
MEMBERS
VIDEOS
NEWS
BLOGS
Sign Up
Login
No unread comment.
View All Comments
No unread message.
View All Messages
No unread notification.
View All Notifications
Answers
Post
An Article
A Blog
A News
A Video
An EBook
An Interview Question
Ask Question
Forums
Monthly Leaders
Forum guidelines
ramesh g
NA
4
6k
Calculate payroll process amount based on the Slabs
Oct 4 2013 3:07 AM
Hi,
My scenario is, i have to calculate payroll process amount based on the Slabs....
CREATE TABLE #slab
(lbound int
,ubound int
,fixed_amount decimal(10,0)
,variable_amount decimal(10,0)
)
INSERT INTO #slab VALUES (1,100,5000,0)
INSERT INTO #slab VALUES (101,200,0,40)
INSERT INTO #slab VALUES (201,300,0,30)
INSERT INTO #slab VALUES (301,400,0,20)
Declare @employees int
Set @employees=300
SELECT SUM(fixed_amount + (employees * variable_amount))
FROM (
SELECT CASE WHEN @employees > ubound THEN ubound ELSE @employees END + 1 - lbound AS employees
, fixed_amount
, variable_amount
FROM #slab
WHERE @employees >= lbound
) AS employees_per_slab
drop table #slab
Above mention query is properly working fine. But flowing insert query I included
'exclude'
keyword . So how to change procedure..
The amount should get calculated with respect to slab defined for it....
CREATE TABLE [dbo].[Tbl_Slab](
[MinRange] [bigint] NULL,
[MaxRange] [bigint] NULL,
[Baserate] [decimal](10,2)NULL,
[perrecord] [decimal] (10,2)NULL,
[Condition] [nvarchar](10) NOT NULL)
insert into Tbl_Slab values(1,100,1500,0,'')
insert into Tbl_Slab values(101,200,0,50,'')
insert into Tbl_Slab values(201,300,5000,30,
'exclude'
)
insert into Tbl_Slab values (301,400,0,20,'')
Calculation part:
1. To calculate payroll for 150 employees when the codition is ''. The result is
1500->for 100 employee basic amount
50*50->another 50 employee and 50Rs per employee.
Total Amount:4000
2. To calculate payroll for 250 employees when the codition is 'exclude'. If the condition is exclude then it should ignore the previous slabs and the result is
5000-> the baserate
250*30->7500 = 5000+7500
Total Amount=12500
3. To calculate payroll for 350 employees when the codition is ''.The result is
5000-> the baserate
300*30->9000 = 5000+9000
50*20->1000=5000+9000+1000=15000
Total Amount=15000
How can i Achieve this using sql server....Kindly help...
Thanks and Regards,
Ramesh
Reply
Answers (
1
)
Change radio button group name programatically
About attending .net workshop