|
Posted by Ed Murphy on 01/18/07 20:16
Nate wrote:
> I am using a table, called 'dashboard', to track employee evaluations.
>
> There are many columns in the table, some of which are populated with
> one of four responses:
> "Meets Expectations", "Below Expectations", "Not Observed", "Policy
> Violation"
>
> I would like to create a query that will search for any employee that
> has two "Below Expectations" in the SAME column in a span of 30 days.
>
> I was thinking of using CONTAINS, but that would require me specifying
> EVERY one of the evaluation critera (live_1, live_2.. all the way to
> live_8.. then review_1, review_2... review_11)
How would you do it with CONTAINS?
If you change 'live_1', etc. from columns to values within a single
column, then you can do something like this:
select distinct d.employee
from dashboard d
join dashboard d2
on d.employee = d2.employee
and d.criterion = d2.criterion
and d.cr_date < d2.cr_date
where d.rating = 'Below Expectations'
and d2.rating = 'Below Expectations'
and d2.cr_date <= -- 30 days past d.cr_date
Otherwise, I guess you would need to do something like this:
select distinct employee from (
-- similar logic for live_1
union
-- similar logic for live 2
-- etc.
) as lumberghs
[Back to original message]
|