Мне нужно создать оракульный sql, который идентифицирует сотрудников, которые достигли знаменательной годовщины в течение следующей недели. Мне действительно нужно было создать два кода. Один из них, чтобы идентифицировать каждого сотрудника, который в этом году совершает знаменательную годовщину, и второй, чтобы идентифицировать всех, кто попадает в эту веху на следующей неделе.SQL-код для расчета лет службы
Так что, если я запустил код на этой неделе, он захватит всех, кто имеет юбилей на следующей неделе. Для этого кода мне удалось создать код, который будет идентифицировать юбилей в определенную дату ... но я не могу создать код, который будет выглядеть на всех 7 днях следующей недели, и расскажет, кто у всех есть юбилеи.
Вот запрос для идентификации кого-либо с юбилеем в воскресенье 03/31/2013, когда запрос выполняется сегодня 27.03.2012.
SELECT a.full_name AS Full_Name,
b.adjusted_svc_date AS Service_Date,
d.name Job_tittle,
TRUNC ((TO_NUMBER (TO_CHAR (SYSDATE + 4, 'mmddyyyy'))) -- TO_NUMBER (TO_CHAR (SYSDATE+4, 'MM/DD/YYYY'))
- TO_NUMBER (TO_CHAR (b.adjusted_svc_date, 'mmddyyyy')))
AS Years_OF_Service
FROM per_people_x a,
per_periods_of_service b,
per_assignments_x c,
per_jobs d
WHERE a.person_id = c.person_id
AND c.period_of_service_id = b.period_of_service_id
AND c.job_id = d.job_id
AND TRUNC (
(TO_NUMBER (TO_CHAR (SYSDATE + 4, 'mmddyyyy')))
- TO_NUMBER (TO_CHAR (b.adjusted_svc_date, 'mmddyyyy'))) IN
(5, 10, 15, 20, 25, 30)
AND a.person_type_id IN (6, 7)
Это общий вопрос Oracle SQL и не имеет абсолютно никакого отношения к Toad. (Его можно запустить во всем, что позволяет Oracle SQL.) Пожалуйста, используйте только теги, которые действительно применяются к вашему вопросу. Благодарю. –
Когда ваша неделя начинается и заканчивается? –
Также, похоже, вы пытаетесь найти значительную годовщину? 5-й, 10-й, 15-й, 25-й и 30-й годы, но не 1-й, 22-й и т. Д. Это правильно? –