DarrenJackson
asked on
date less 80 days
Guys, I have simple query but cannot work it out.
I want to be able to query a date in oracle and return the last 80 DAYS worth
here is the code but its not working
select * from
(SELECT
--ROW_NUMBER() OVER (ORDER BY ifsapp.hrp_pay_list_api.ge t_date_fro m(company_ id,payroll _list_id) desc ) as rank,
COMPANY_ID,
PAYROLL_LIST_ID,
DATA_DERIV_DAY,
EMP_NO,
NAME,
BASIC_HOURS,
"HOURLY RATE",
OT1_HOURS,
OT2_HOURS,
OT3_HOURS,
TOTAL_HOURS,
TOTAL_EARNINGS,
BASIC_PAY,
OT1,
OT2,
OT3,
DOUBLE_DAY_SHIFT_AM,
DOUBLE_DAY_SHIFT_PM,
BONUS_WEEKLY,
BONUS_VARIED,
"Travel_Time(W)",
SPLIT_WEEK_ALLOWANCE,
TOOL_ALLOWANCE,
"Radius(W)",
SHIFT_ALLOWANCE_AMOUNT_WEE KLY,
OTHER,
"Holiday_Pay(Not_Advanced) ",
HOLIDAY_PAY_ADV,
"Holiday_Stamp_Non_NIable( W)",
STATUTORY_HOLIDAY_AMOUNT,
SICK,
COMPANY_SICK,
SMP,
SPP,
LIEU_WEEKLY
FROM (SELECT DISTINCT
HO.COMPANY_ID,
HO.PAYROLL_LIST_ID,
HO.DATA_DERIV_DAY,
HO.EMP_NO,
HO.INTERNAL_DISPLAY_NAME AS NAME,
HO.BASIC AS BASIC_HOURS,
round(SUM(decode(PAY.WAGE_ CODE_ID,
'A001',
PAY.VALUE,
0)) /
Decode(HO.BASIC, 0, 0.000001, HO.BASIC),
3) AS "HOURLY RATE",
HO.TIME_HALF AS OT1_HOURS,
HO.DOUBLE AS OT2_HOURS,
HO.OT3 as OT3_HOURS,
nvl(HO.BASIC, 0) + nvl(HO.TIME_HALF, 0) +
nvl(HO.DOUBLE, 0) + nvl(HO.OT3, 0) as Total_Hours,
SUM(decode(PAY.WAGE_CODE_I D, 'A001', PAY.VALUE, 0)) +
SUM(decode(PAY.WAGE_CODE_I D, 'A057', PAY.VALUE, 0)) +
SUM(decode(PAY.WAGE_CODE_I D, 'A058', PAY.VALUE, 0)) +
SUM(decode(PAY.WAGE_CODE_I D, 'A059', PAY.VALUE, 0)) +
SUM(decode(PAY.WAGE_CODE_I D, 'A070', PAY.VALUE, 0)) +
SUM(decode(PAY.WAGE_CODE_I D, 'A071', PAY.VALUE, 0)) +
SUM(decode(PAY.WAGE_CODE_I D, 'A100-W', PAY.VALUE, 0)) +
SUM(decode(PAY.WAGE_CODE_I D, 'A123-W', PAY.VALUE, 0)) +
SUM(decode(PAY.WAGE_CODE_I D, 'A250', PAY.VALUE, 0)) +
SUM(decode(PAY.WAGE_CODE_I D, 'A120', PAY.VALUE, 0)) +
SUM(decode(PAY.WAGE_CODE_I D, 'A116', PAY.VALUE, 0)) +
SUM(decode(PAY.WAGE_CODE_I D, 'A251', PAY.VALUE, 0)) +
SUM(decode(PAY.WAGE_CODE_I D,
'A114 - W',
PAY.VALUE,
0)) + nvl(HO.OTHER, 0) +
SUM(decode(PAY.WAGE_CODE_I D, 'A121', PAY.VALUE, 0)) +
nvl(HO.HOLIDAY_PAY_ADV, 0) +
SUM(decode(PAY.WAGE_CODE_I D, 'A315', PAY.VALUE, 0)) +
SUM(decode(PAY.WAGE_CODE_I D, 'A099', PAY.VALUE, 0)) +
SUM(decode(PAY.WAGE_CODE_I D, 'S001', PAY.VALUE, 0)) +
SUM(decode(PAY.WAGE_CODE_I D, 'A119', PAY.VALUE, 0)) +
SUM(decode(PAY.WAGE_CODE_I D, 'S002', PAY.VALUE, 0)) +
SUM(decode(PAY.WAGE_CODE_I D, 'S003', PAY.VALUE, 0)) +
SUM(decode(PAY.WAGE_CODE_I D, 'A111-W', PAY.VALUE, 0)) as Total_Earnings,
SUM(decode(PAY.WAGE_CODE_I D, 'A001', PAY.VALUE, 0)) as Basic_Pay,
SUM(decode(PAY.WAGE_CODE_I D, 'A057', PAY.VALUE, 0)) as OT1,
SUM(decode(PAY.WAGE_CODE_I D, 'A058', PAY.VALUE, 0)) as OT2,
SUM(decode(PAY.WAGE_CODE_I D, 'A059', PAY.VALUE, 0)) as OT3,
SUM(decode(PAY.WAGE_CODE_I D, 'A070', PAY.VALUE, 0)) as Double_day_shift_AM,
SUM(decode(PAY.WAGE_CODE_I D, 'A071', PAY.VALUE, 0)) as Double_day_shift_PM,
SUM(decode(PAY.WAGE_CODE_I D, 'A100-W', PAY.VALUE, 0)) AS Bonus_Weekly,
SUM(decode(PAY.WAGE_CODE_I D, 'A123-W', PAY.VALUE, 0)) AS Bonus_Varied,
SUM(decode(PAY.WAGE_CODE_I D, 'A250', PAY.VALUE, 0)) as "Travel_Time(W)",
SUM(decode(PAY.WAGE_CODE_I D, 'A120', PAY.VALUE, 0)) as split_week_allowance,
SUM(decode(PAY.WAGE_CODE_I D, 'A116', PAY.VALUE, 0)) as Tool_Allowance,
SUM(decode(PAY.WAGE_CODE_I D, 'A251', PAY.VALUE, 0)) as "Radius(W)",
SUM(decode(PAY.WAGE_CODE_I D,
'A114 - W',
PAY.VALUE,
0)) as Shift_allowance_amount_wee kly,
HO.OTHER,
SUM(decode(PAY.WAGE_CODE_I D, 'A121', PAY.VALUE, 0)) as "Holiday_Pay(Not_Advanced) ",
HO.HOLIDAY_PAY_ADV,
SUM(decode(PAY.WAGE_CODE_I D, 'A315', PAY.VALUE, 0)) as "Holiday_Stamp_Non_NIable( W)",
SUM(decode(PAY.WAGE_CODE_I D, 'A099', PAY.VALUE, 0)) as Statutory_holiday_amount,
SUM(decode(PAY.WAGE_CODE_I D, 'S001', PAY.VALUE, 0)) AS SICK,
SUM(decode(PAY.WAGE_CODE_I D, 'A119', PAY.VALUE, 0)) AS COMPANY_SICK,
SUM(decode(PAY.WAGE_CODE_I D, 'S002', PAY.VALUE, 0)) AS SMP,
SUM(decode(PAY.WAGE_CODE_I D, 'S003', PAY.VALUE, 0)) AS SPP,
SUM(decode(PAY.WAGE_CODE_I D, 'A111-W', PAY.VALUE, 0)) AS LIEU_WEEKLY
FROM (select a.company_id,
a.payroll_list_id,
a.validation_date as DATA_DERIV_DAY,
a.emp_no,
ifsapp.company_pers_api.ge t_name(a.c ompany_id,
a.emp_no) as internal_display_name,
Sum(decode(param_id, 'A001', a.value)) as BASIC,
Sum(decode(param_id, 'A057-H', a.value)) as TIME_HALF,
Sum(decode(param_id, 'A058-H', a.value)) as DOUBLE,
Sum(decode(param_id, 'A059-H', a.value)) as OT3,
Sum(decode(param_id, 'A070-H', a.value)) as DOUBLEDAYSHIFT_AM,
Sum(decode(param_id, 'A071-H', a.value)) as DOUBLEDAYSHIFT_PM,
Sum(decode(param_id, 'A300', a.value)) as HOLIDAY_PAY_ADV,
Sum(decode(param_id, 'A118-W', a.value)) as OTHER
from ifsapp.hrp_pl_par_value a
group by a.company_id,
a.payroll_list_id,
a.validation_date,
a.emp_no) ho
JOIN IFSAPP.hrp_pl_wc_value PAY ON HO.COMPANY_ID = PAY.COMPANY_ID
AND HO.EMP_NO = PAY.EMP_NO
AND HO.data_deriv_day =
PAY.validation_date
and ho.payroll_list_id =
pay.payroll_list_id
GROUP BY HO.COMPANY_ID,
HO.EMP_NO,
HO.INTERNAL_DISPLAY_NAME,
HO.PAYROLL_LIST_ID,
HO.DATA_DERIV_DAY,
HO.BASIC,
HO.TIME_HALF,
HO.DOUBLE,
HO.OT3,
HO.HOLIDAY_PAY_ADV,
HO.OTHER,
PAY.PAYROLL_LIST_ID) EARN
where earn.company_id = '01' and earn.emp_no = '000644' and (to_char(earn.data_deriv_d ay,'yyyymm dd') - '80' )
) z
any ideas
Thanks
I want to be able to query a date in oracle and return the last 80 DAYS worth
here is the code but its not working
select * from
(SELECT
--ROW_NUMBER() OVER (ORDER BY ifsapp.hrp_pay_list_api.ge
COMPANY_ID,
PAYROLL_LIST_ID,
DATA_DERIV_DAY,
EMP_NO,
NAME,
BASIC_HOURS,
"HOURLY RATE",
OT1_HOURS,
OT2_HOURS,
OT3_HOURS,
TOTAL_HOURS,
TOTAL_EARNINGS,
BASIC_PAY,
OT1,
OT2,
OT3,
DOUBLE_DAY_SHIFT_AM,
DOUBLE_DAY_SHIFT_PM,
BONUS_WEEKLY,
BONUS_VARIED,
"Travel_Time(W)",
SPLIT_WEEK_ALLOWANCE,
TOOL_ALLOWANCE,
"Radius(W)",
SHIFT_ALLOWANCE_AMOUNT_WEE
OTHER,
"Holiday_Pay(Not_Advanced)
HOLIDAY_PAY_ADV,
"Holiday_Stamp_Non_NIable(
STATUTORY_HOLIDAY_AMOUNT,
SICK,
COMPANY_SICK,
SMP,
SPP,
LIEU_WEEKLY
FROM (SELECT DISTINCT
HO.COMPANY_ID,
HO.PAYROLL_LIST_ID,
HO.DATA_DERIV_DAY,
HO.EMP_NO,
HO.INTERNAL_DISPLAY_NAME AS NAME,
HO.BASIC AS BASIC_HOURS,
round(SUM(decode(PAY.WAGE_
'A001',
PAY.VALUE,
0)) /
Decode(HO.BASIC, 0, 0.000001, HO.BASIC),
3) AS "HOURLY RATE",
HO.TIME_HALF AS OT1_HOURS,
HO.DOUBLE AS OT2_HOURS,
HO.OT3 as OT3_HOURS,
nvl(HO.BASIC, 0) + nvl(HO.TIME_HALF, 0) +
nvl(HO.DOUBLE, 0) + nvl(HO.OT3, 0) as Total_Hours,
SUM(decode(PAY.WAGE_CODE_I
SUM(decode(PAY.WAGE_CODE_I
SUM(decode(PAY.WAGE_CODE_I
SUM(decode(PAY.WAGE_CODE_I
SUM(decode(PAY.WAGE_CODE_I
SUM(decode(PAY.WAGE_CODE_I
SUM(decode(PAY.WAGE_CODE_I
SUM(decode(PAY.WAGE_CODE_I
SUM(decode(PAY.WAGE_CODE_I
SUM(decode(PAY.WAGE_CODE_I
SUM(decode(PAY.WAGE_CODE_I
SUM(decode(PAY.WAGE_CODE_I
SUM(decode(PAY.WAGE_CODE_I
'A114 - W',
PAY.VALUE,
0)) + nvl(HO.OTHER, 0) +
SUM(decode(PAY.WAGE_CODE_I
nvl(HO.HOLIDAY_PAY_ADV, 0) +
SUM(decode(PAY.WAGE_CODE_I
SUM(decode(PAY.WAGE_CODE_I
SUM(decode(PAY.WAGE_CODE_I
SUM(decode(PAY.WAGE_CODE_I
SUM(decode(PAY.WAGE_CODE_I
SUM(decode(PAY.WAGE_CODE_I
SUM(decode(PAY.WAGE_CODE_I
SUM(decode(PAY.WAGE_CODE_I
SUM(decode(PAY.WAGE_CODE_I
SUM(decode(PAY.WAGE_CODE_I
SUM(decode(PAY.WAGE_CODE_I
SUM(decode(PAY.WAGE_CODE_I
SUM(decode(PAY.WAGE_CODE_I
SUM(decode(PAY.WAGE_CODE_I
SUM(decode(PAY.WAGE_CODE_I
SUM(decode(PAY.WAGE_CODE_I
SUM(decode(PAY.WAGE_CODE_I
SUM(decode(PAY.WAGE_CODE_I
SUM(decode(PAY.WAGE_CODE_I
SUM(decode(PAY.WAGE_CODE_I
'A114 - W',
PAY.VALUE,
0)) as Shift_allowance_amount_wee
HO.OTHER,
SUM(decode(PAY.WAGE_CODE_I
HO.HOLIDAY_PAY_ADV,
SUM(decode(PAY.WAGE_CODE_I
SUM(decode(PAY.WAGE_CODE_I
SUM(decode(PAY.WAGE_CODE_I
SUM(decode(PAY.WAGE_CODE_I
SUM(decode(PAY.WAGE_CODE_I
SUM(decode(PAY.WAGE_CODE_I
SUM(decode(PAY.WAGE_CODE_I
FROM (select a.company_id,
a.payroll_list_id,
a.validation_date as DATA_DERIV_DAY,
a.emp_no,
ifsapp.company_pers_api.ge
a.emp_no) as internal_display_name,
Sum(decode(param_id, 'A001', a.value)) as BASIC,
Sum(decode(param_id, 'A057-H', a.value)) as TIME_HALF,
Sum(decode(param_id, 'A058-H', a.value)) as DOUBLE,
Sum(decode(param_id, 'A059-H', a.value)) as OT3,
Sum(decode(param_id, 'A070-H', a.value)) as DOUBLEDAYSHIFT_AM,
Sum(decode(param_id, 'A071-H', a.value)) as DOUBLEDAYSHIFT_PM,
Sum(decode(param_id, 'A300', a.value)) as HOLIDAY_PAY_ADV,
Sum(decode(param_id, 'A118-W', a.value)) as OTHER
from ifsapp.hrp_pl_par_value a
group by a.company_id,
a.payroll_list_id,
a.validation_date,
a.emp_no) ho
JOIN IFSAPP.hrp_pl_wc_value PAY ON HO.COMPANY_ID = PAY.COMPANY_ID
AND HO.EMP_NO = PAY.EMP_NO
AND HO.data_deriv_day =
PAY.validation_date
and ho.payroll_list_id =
pay.payroll_list_id
GROUP BY HO.COMPANY_ID,
HO.EMP_NO,
HO.INTERNAL_DISPLAY_NAME,
HO.PAYROLL_LIST_ID,
HO.DATA_DERIV_DAY,
HO.BASIC,
HO.TIME_HALF,
HO.DOUBLE,
HO.OT3,
HO.HOLIDAY_PAY_ADV,
HO.OTHER,
PAY.PAYROLL_LIST_ID) EARN
where earn.company_id = '01' and earn.emp_no = '000644' and (to_char(earn.data_deriv_d
) z
any ideas
Thanks
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER
Thanks for this appreciate it