나는 며칠 전에이 질문을했지만 솔루션이 완벽하게 작동하지 않았으므로 새로운 논리 로이 질문을하고 있습니다.
SELECT person_number,taxable_earn, Basic_Life,Tax_Units
FROM (SELECT ppa.effective_date,
pra.result_value ,
pra.elementname,
prd.person_number
FROM pay_pay_relationships_dn prd
INNER JOIN pay_payroll_rel_actions pra ON prd.payroll_relationship_id = pra.payroll_relationship_id
INNER JOIN pay_payroll_actions ppa ON pra.payroll_action_id = ppa.payroll_action_id
INNER JOIN pay_all_payrolls_f pap ON ppa.element_type_id = pap.element_type_id
WHERE ppa.payroll_id = pap.payroll_id
AND ppa.effective_date BETWEEN :p_start_date AND :p_end_date)
PIVOT (SUM(result_value )
FOR elementname IN ('taxable_earn' taxable_earn, 'Basic_Life' Basic_Life, 'Tax_Units' Tax_Units))
위의 쿼리는 다음과 같은 출력을 제공합니다.
EMPLOYEENUMBER taxable_earn Basic_Life Tax_Units
10 6.7
10 7.8
10 9.2
출력이 다음과 같기를 바랍니다.
EMPLOYEENUMBER taxable_earn Basic_Life Tax_Units
10 6.7 7.8 9.2
이 출력을 얻기 위해 위의 쿼리를 어떻게 조정할 수 있습니까?
ppa.effective_date,
중첩 된 하위 쿼리에서 제거 하십시오.
SELECT person_number,taxable_earn, Basic_Life,Tax_Units
FROM (SELECT
pra.result_value ,
pra.elementname,
prd.person_number
FROM pay_pay_relationships_dn prd
INNER JOIN pay_payroll_rel_actions pra ON prd.payroll_relationship_id = pra.payroll_relationship_id
INNER JOIN pay_payroll_actions ppa ON pra.payroll_action_id = ppa.payroll_action_id
INNER JOIN pay_all_payrolls_f pap ON ppa.element_type_id = pap.element_type_id
WHERE ppa.payroll_id = pap.payroll_id
AND ppa.effective_date BETWEEN :p_start_date AND :p_end_date)
PIVOT (SUM(result_value )
FOR elementname IN ('taxable_earn' taxable_earn, 'Basic_Life' Basic_Life, 'Tax_Units' Tax_Units))
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다