मैं बनाने के लिए एक क्वेरी से पता चलता है कि क्या कर्मचारियों को ले लिया है, किस तरह के समय पर छोड़ दें कार्ड.
select papf.person_number,
atrb.attribute_category element,
atrb.measure measure_hours,
rec.start_Date,
rec.end_Date
from per_all_people_F papf,
hwm_tm_rec rec,
fusion.hwm_tm_rep_atrbs atrb,
fusion.hwm_tm_rep_atrb_usages ausage,
hwm_tm_statuses status
where 1=1
AND atrb.tm_rep_atrb_id = ausage.tm_rep_atrb_id
AND ausage.usages_source_id = rec.tm_rec_id
AND ausage.usages_source_version = rec.tm_rec_version
AND status.tm_bldg_blk_id = REC.tm_rec_id
AND status.tm_bldg_blk_version = REC.tm_rec_version
AND REC.tm_rec_type IN ( 'RANGE', 'MEASURE' )
and papf.person_number = '101928'
AND Trunc (status.date_to) = To_date ('31/12/4712', 'DD/MM/YYYY')
and atrb.attribute_category in( 'Overtime','Regular Pay', 'Double_Time')
and Trunc (sh21.start_time) between trunc(:P_From_Date) and trunc(:P_To_Date)
यह मुझे देता है के उत्पादन के बीच की तरह p_from_date - 01-Jan-2021 और p_to_date - 31-Jul-2021 के रूप में -
Person_Number Element measure_hours Start_Date end_date
101928 Overtime 10 10-Jan-2021 10-Jan-2021
101928 Overtime 8 09-Jul-2021 09-Jul-2021
101928 Regular Pay 10.9 23-Jan-2021 24-jan-2021
101928 Regular Pay 4.1 01-Jun-2021 01-Jun-2021
101928 Double_Time 34 02-Feb-2021 04-Feb-2021
अब चाहते हैं tweak करने के लिए क्वेरी के रूप में देने के लिए उत्पादन की तरह -
Person_Number Overtime_measure_hours Regular_Measure_hours Others_code Others_measure
101928 18 15 Double_Time 34
यानी Overtime_measure_hours, Regular_Measure_hours और Others_measure होना चाहिए की राशि इन मूल्यों.
वहाँ एक तरीका है करने के लिए tweak मेरी क्वेरी का उपयोग कर के बिना की जाने वाली सबक्वेरी ? या मैं कैसे कर सकते हैं इस में सबसे प्रभावी तरीका है ?