修复 SQL 查询。我想在 1 行中打印输出,但在我的查询中返回 6 行,我想合并为图像

fix sql query. i want print output in 1 row but in my query return 6 row i want combine as image

提问人:Henil Code 提问时间:9/26/2023 最后编辑:Henil Code 更新时间:9/26/2023 访问量:60

问:

查询是

SELECT unf_employee.employee_code,unf_employee.name AS Employee_Name, unf_attendances.payable_amount, unf_processed_salary_heads.type, unf_processed_salary_heads.name AS title, unf_processed_salary_heads.amount 
FROM unf_attendances 
INNER JOIN unf_attendances_unf_processed_salary_heads_c ON UNF_Attendances.id = unf_attendances_unf_processed_salary_heads_c.unf_attendances_unf_processed_salary_headsunf_attendances_ida 
INNER JOIN unf_processed_salary_heads ON unf_attendances_unf_processed_salary_heads_c.unf_attend5f51y_heads_idb = unf_processed_salary_heads.id 
INNER JOIN unf_employee ON unf_attendances.unf_employee_id_c = unf_employee.id 
WHERE unf_attendances.deleted = 0

Query

-----输出-------

Output

我想要如下表所示的打印输出

expected output

请修复我的SQL查询并打印表格,如下图所示。

PHP SQL 错误处理

评论

0赞 Jens 9/26/2023
将所有信息添加为文本而不是图像
1赞 Alive to die - Anant 9/26/2023
添加分组依据,并用于不同的价格列和 for 列。(如果你想展示employee_codeSUMCONCATstringtypeEarning,deduction)
0赞 ADyson 9/26/2023
另一种选择是了解数据透视查询

答:

0赞 Ragul 9/26/2023 #1
Check this query, it might need some minimal modifications.
SELECT EMPLOYEE_CODE,
       EMPLOYEE_NAME,
       ['BASIC'],
       ['HRA'],
       ['EXTRA'],
       ['UNIFORM ALLOWANCE'],
       ['PF'],
       ['ESIC'],
       (['BASIC'] + ['HRA'] + ['EXTRA'] + ['UNIFORM ALLOWANCE'] + ['PF'] + ['ESIC']) - PAYABLE_AMOUNT AS TOTAL_DEDUCTIONS,
       PAYABLE_AMOUNT AS NET_PAID
FROM
    (SELECT UNF_EMPLOYEE.EMPLOYEE_CODE,
            UNF_EMPLOYEE.NAME AS EMPLOYEE_NAME,
            UNF_ATTENDANCES.PAYABLE_AMOUNT,
            UNF_PROCESSED_SALARY_HEADS.TYPE,
            UNF_PROCESSED_SALARY_HEADS.NAME AS TITLE,
            UNF_PROCESSED_SALARY_HEADS.AMOUNT
        FROM UNF_ATTENDANCES
        INNER JOIN UNF_ATTENDANCES_UNF_PROCESSED_SALARY_HEADS_C ON UNF_ATTENDANCES.ID = UNF_ATTENDANCES_UNF_PROCESSED_SALARY_HEADS_C.UNF_ATTENDANCES_UNF_PROCESSED_SALARY_HEADSUNF_ATTENDANCES_IDA
        INNER JOIN UNF_PROCESSED_SALARY_HEADS ON UNF_ATTENDANCES_UNF_PROCESSED_SALARY_HEADS_C.UNF_ATTEND5F51Y_HEADS_IDB = UNF_PROCESSED_SALARY_HEADS.ID
        INNER JOIN UNF_EMPLOYEE ON UNF_ATTENDANCES.UNF_EMPLOYEE_ID_C = UNF_EMPLOYEE.ID
        WHERE UNF_ATTENDANCES.DELETED = 0 ) 
PIVOT (SUM(AMOUNT)
       FOR TITLE IN (['BASIC'],
                     ['HRA'],
                     ['EXTRA'],
                     ['UNIFORM ALLOWANCE'],
                     ['PF'],
                     ['ESIC']));