直接查询的SQL语句,把“ELEMENT_NAME”的元素转为行显示。
SELECT V.ELEMENT_NAME,v.RESULT_VALUE FROM PAY_RUN_RESULTS_V V WHERE v.ASSIGNMENT_ACTION_ID=64293

转化的SQL语句,巧用MAX和DECODE
SELECT MAX(DECODE(ELEMENT_NAME, 'CDGM_绩效工资', RESULT_VALUE, 0)) 绩效工资,
MAX(DECODE(ELEMENT_NAME, 'Taxation Information', RESULT_VALUE, 0)) TaxationInformation,
MAX(DECODE(ELEMENT_NAME, 'Taxation Deduction', RESULT_VALUE, 0)) TaxationDeduction,
MAX(DECODE(ELEMENT_NAME, 'Tax Report Information', RESULT_VALUE, 0)) TaxReportInformation,
MAX(DECODE(ELEMENT_NAME, 'CDGM_应发合计', RESULT_VALUE, 0))应发合计,
MAX(DECODE(ELEMENT_NAME, 'CDGM_实发作废', RESULT_VALUE, 0)) 实发作废,
MAX(DECODE(ELEMENT_NAME, 'CDGM_实发合计', RESULT_VALUE, 0)) 实发合计
FROM PAY_RUN_RESULTS_V
WHERE ASSIGNMENT_ACTION_ID=64293
![]()
本文介绍了如何使用SQL中的MAX和DECODE函数将查询结果中'ELEMENT_NAME'列的内容转换为行显示,特别是在处理PAY_RUN_RESULTS_V表时,通过示例展示了如何根据ASSIGNMENT_ACTION_ID筛选并转化数据。
1万+

被折叠的 条评论
为什么被折叠?



