Solved

List records where values do not exist

Posted on 2009-07-10
5
166 Views
Last Modified: 2013-11-26
I have the following query that lists all employees for a time frame and all the paycodes for each employee.  What I need to return is only the employees that do not have certain paycodes in that timeframe.  We are basically looking for any employee that was not out sick for a 6 month period.  All I need returned is the number,name, and hoursperperiod.  I'm attachching a spreadsheet of what the data looks like now, along with my query.  I am writing in Visual Studio 2005, and we have SQL Server 2005.  

If an employee has any of the following paycodes, I do not want their name to appear in the result set:  ABS, SICK, UNPDSICK,SUSPEND

Thanks!
select number,hoursperperiod,name,paycode

from payrollview.dbo.ppperemployeefile p inner join kronos.dbo.hoursbyday k on 

k.empnum = p.number inner join payrollview.dbo.ppperemppositionfields e on e.employeeppper = p.employeeppper

where (hoursperperiod between '48' and '80') and (date between '01/01/2009' and '06/30/2009')

group by number,hoursperperiod,name,paycode

order by paycode

Open in new window

KronosQuerySample.xls
0
Comment
Question by:palmer9
  • 3
  • 2
5 Comments
 
LVL 17

Expert Comment

by:pssandhu
ID: 24823541
I have not seen the data but I think this should do it:
select 	number,

		hoursperperiod,

		name,

		paycode

from	payrollview.dbo.ppperemployeefile p inner join kronos.dbo.hoursbyday k 

		on k.empnum = p.number inner join payrollview.dbo.ppperemppositionfields e 

		on e.employeeppper = p.employeeppper

where (hoursperperiod between '48' and '80') and (date between '01/01/2009' and '06/30/2009')

		and paycode not in ('ABS', 'SICK', 'UNPDSICK','SUSPEND')

group by number,hoursperperiod,name,paycode

order by paycode

Open in new window

0
 

Author Comment

by:palmer9
ID: 24823570
Hi - I tried that, but it lists the employee anyhow for all the other paycodes that exist for them.  I need the employee excluded all together if they have one of those qualifying paycodes.  
0
 
LVL 17

Accepted Solution

by:
pssandhu earned 500 total points
ID: 24823598
okay.. I see. Try this:
select 	number,

		hoursperperiod,

		name,

		paycode

from	payrollview.dbo.ppperemployeefile p inner join kronos.dbo.hoursbyday k 

		on k.empnum = p.number inner join payrollview.dbo.ppperemppositionfields e 

		on e.employeeppper = p.employeeppper

where (hoursperperiod between '48' and '80') and (date between '01/01/2009' and '06/30/2009')

		and empnum not in ( select 	number

							from	payrollview.dbo.ppperemployeefile p inner join kronos.dbo.hoursbyday k 

									on k.empnum = p.number inner join payrollview.dbo.ppperemppositionfields e 

									on e.employeeppper = p.employeeppper

							where (hoursperperiod between '48' and '80') and (date between '01/01/2009' and '06/30/2009')

								   and paycode IN ('ABS', 'SICK', 'UNPDSICK','SUSPEND')

							)

group by number,hoursperperiod,name,paycode

order by paycode

Open in new window

0
 

Author Closing Comment

by:palmer9
ID: 31602073
Perfect - Thank you!!!
0
 
LVL 17

Expert Comment

by:pssandhu
ID: 24823637
No problem!
0

Featured Post

Efficient way to get backups off site to Azure

This user guide provides instructions on how to deploy and configure both a StoneFly Scale Out NAS Enterprise Cloud Drive virtual machine and Veeam Cloud Connect in the Microsoft Azure Cloud.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Many of us here at EE write code. Many of us write exceptional code; just as many of us write exception-prone code. As we all should know, exceptions are a mechanism for handling errors which are typically out of our control. From database errors, t…
For those of you who don't follow the news, or just happen to live under rocks, Microsoft Research released a beta SDK (http://www.microsoft.com/en-us/download/details.aspx?id=27876) for the Xbox 360 Kinect. If you don't know what a Kinect is (http:…
This Micro Tutorial hows how you can integrate  Mac OSX to a Windows Active Directory Domain. Apple has made it easy to allow users to bind their macs to a windows domain with relative ease. The following video show how to bind OSX Mavericks to …
Video by: Mark
This lesson goes over how to construct ordered and unordered lists and how to create hyperlinks.

910 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

23 Experts available now in Live!

Get 1:1 Help Now