Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 8446967
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 10, 20262026-06-10T10:04:07+00:00 2026-06-10T10:04:07+00:00

Using SQL Server 2000 Table1 ID Salary (Monthly) perday (salary) 001 3000 100 002

  • 0

Using SQL Server 2000

Table1

ID Salary (Monthly) perday (salary)

001 3000 100
002 1500 50
003 4500 150

Salary, perday columns are of datatype float

Table2

ID Date Latetime (HH:mm)

001 01/02/2012 00:15 
001 02/02/2012 00:10
001 03/02/2012 00:45 
001 04/02/2012 00:29
001 05/02/2012 01:00

002 11/03/2012 00:02 
002 12/03/2012 00:20
002 13/03/2012 00:29
002 14/03/2012 01:00


002 10/03/2012 01:30 
002 10/03/2012 02:00

I want to deduct the salary amount according to the count of latetime.

Condition

01 to 29 mintues late condition

  • If User late on 1st time no deduction
  • If user late on 2nd time 10% deduction of perday salary
  • If user late on 3rd time 25% deduction of perday salary
  • If user late on 4th time and above 50% deduction of perday salary

30 mintues to 1 hour late condition

  • If User late on 1st time no deduction
  • If user late on 2nd time 50% deduction of perday salary
  • If user late on 3rd time 100% deduction of perday salary
  • If user late on 4th time and above 150% deduction of perday salary

Expected Output for table2

         4th onwards
ID Ist 2nd 3rd  days Amount Deducted 


001 0 10 50  2 250 310
002 0 10 10 1 100   120

Output explanation

User 001 late for 5 times as a Count(latetime) from table2

  • 1st time late for 00:15 minutes – no deduction
  • 2nd time late for 00:10 minutes, so late time in between 01 to 29, so 10 % of perday salary deduction ‘1st time (01 to 29)
  • 3rd time late for 00:45 minutes, so late time in between 30 to 01 hours, so 50 % of perday salary deduction ‘1st time (30 to 01)
  • 4th time late for 00:29 minutes, so late time in between 01 to 29, so 50 % of perday salary deduction ‘2nd time (01 to 29)
  • 5th time late for 01:00 minutes, so late time in between 30 to 01 hours, so 150 % of perday salary deduction ‘1st time (30 to 01)

How to create a query for the above conditions?

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-06-10T10:04:09+00:00Added an answer on June 10, 2026 at 10:04 am
    --create and populate penalty rules
    create table table4( latetype int null, nthtime int null, mulfactor float null)
    insert into table4 values (1,1,0) insert into table4 values (1,2,0.1)
    insert into table4 values (1,3,0.25) insert into table4 values (1,4,0.5)
    insert into table4 values (2,1,0) insert into table4 values (2,2,0.5)
    insert into table4 values (2,3,1.0) insert into table4 values (2,4,1.5)
    --create third table to populate the nthtime and latetype for table2
    select x.id, date,
          (select count(*) from table2 where id=x.id and date<=x.date) as nthtime, 
          case when x.latetime<'00:30' then 1 else 2 end as latetype
    into table3
    from table2 x join table1 on table1.id = x.id
    --select the deduction amounth per id 
    select table1.id, 
           sum(table1.perday* 
           isnull(mulfactor, case when latetype = 1 then .5 else 1.5 end) )as deduction
    from table3 a 
    left join table4 b on a.latetype=b.latetype and a.nthtime=b.nthtime 
    join table1 on table3.id = table1.id
    group by table1.id
    
    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

Using SQL Server 2000 Table1 Id date --- ---------- 001 23/01/2012 002 25/01/2012 003
Using sql server 2000 Table1 id value (float) 001 10.00 002 003 004 08.50
Using SQL Server 2000 Table1 ID date value 001 23/01/2012 100 002 25/02/2012 200
Using SQL Server 2000 table1 id values (datatype is nvarchar) 001 12:10 002 01:25
Using SQL Server 2000 Table PersonID Date 001 11-02-2009 002 11-02-2009 003 11-02-2009 001
I am using SQL Server 2000 Table1 ID Date 001 23/02/2009 001 24/02/2009 002
Using SQL Server 2000 Table1 ID Date Value1 Value2 001 01/01/2012 100 0 001
Using Sql Server 2000 Table1 id sdate edate 001 05/01/2012 25/02/2012 002 19/02/2012 17/04/2012
Using SQL Server 2000 table 1: ID LastDate 001 20090101 003 20090501 004 20090302
Using SQL Server 2000 and VB6 Table1 ID Date 001 20090801 001 20090802 …

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.