2015-10-07 43 views
0

這是我的SQL SELECT語句http://www.sqlfiddle.com/#!9/353e82/1
這是輸出Output
我用左加入,但該數據將複製輸出。
我要的是數據不會重複,只顯示一次
收益避免重複的數據時,多個左連接

  • 總OT收費 - 量
  • 運輸 - 量
  • 統一 - 量

扣除

  • 貸款 - 量
  • 無薪休假 - 量

感謝

+1

你應該在這裏包括你的實際查詢問題,而不只是在小提琴鏈接。關於我的頭頂,「DISTINCT」關鍵字可能適用於您。 –

+0

我以爲放在小提琴鏈接更容易看 –

+1

小提琴也許是你應該包括的_last_東西。以純文本向我們顯示查詢,也可以使用包含示例數據的一些文本表格。 –

回答

0

如果您想根據payslip_no單列然後用下面的query

SELECT 
    hrms_salary_payment.`payslip_no` AS payslip_no, 
    hrms_salary_payment.`payment_month` AS payment_month, 
    hrms_salary_payment.`basic_salary` AS basic_salary, 
    hrms_salary_payment.`hours_worken_week` AS hours_worken_week, 
    hrms_salary_payment.`ot_hours_worked` AS ot_hours_worked, 
    hrms_salary_payment.`total_ot_pay` AS total_ot_pay, 
    hrms_salary_payment.`employee_cpf` AS employee_cpf, 
    hrms_salary_payment.`employer_cpf` AS employer_cpf, 
    hrms_salary_payment.`sdl_payable` AS sdl_payable, 
    hrms_salary_payment.`net_salary` AS net_salary, 
    hrms_salary_payment.`payment_amount` AS payment_amount, 
    hrms_salary_payment.`payment_date` AS payment_date, 
    hrms_salary_additional.`item_remark` AS income, 
    hrms_salary_additional.`item_amount` AS income_amount, 
    hrms_salary_additional.`isCPF` AS isCPF, 
    hrms_salary_deduction.`deduction_remark` AS deduction_remark, 
    hrms_salary_deduction.`deduction_amount` AS deduction_amount 
    FROM `hrms_salary_payment` 
    LEFT JOIN `hrms_salary_additional` ON hrms_salary_additional.payment_id = hrms_salary_payment.payment_id 
    LEFT JOIN `hrms_salary_deduction` ON hrms_salary_deduction.payment_id = hrms_salary_payment.payment_id 
    where hrms_salary_payment.`payment_id` = 27 
    GROUP BY hrms_salary_payment.`payslip_no`; 

但是如果你想3通過item_remarks進一步區分,然後使用以下查詢 -

SELECT 
    hrms_salary_payment.`payslip_no` AS payslip_no, 
    hrms_salary_payment.`payment_month` AS payment_month, 
    hrms_salary_payment.`basic_salary` AS basic_salary, 
    hrms_salary_payment.`hours_worken_week` AS hours_worken_week, 
    hrms_salary_payment.`ot_hours_worked` AS ot_hours_worked, 
    hrms_salary_payment.`total_ot_pay` AS total_ot_pay, 
    hrms_salary_payment.`employee_cpf` AS employee_cpf, 
    hrms_salary_payment.`employer_cpf` AS employer_cpf, 
    hrms_salary_payment.`sdl_payable` AS sdl_payable, 
    hrms_salary_payment.`net_salary` AS net_salary, 
    hrms_salary_payment.`payment_amount` AS payment_amount, 
    hrms_salary_payment.`payment_date` AS payment_date, 
    hrms_salary_additional.`item_remark` AS income, 
    hrms_salary_additional.`item_amount` AS income_amount, 
    hrms_salary_additional.`isCPF` AS isCPF, 
    hrms_salary_deduction.`deduction_remark` AS deduction_remark, 
    hrms_salary_deduction.`deduction_amount` AS deduction_amount 
    FROM `hrms_salary_payment` 
    LEFT JOIN `hrms_salary_additional` ON hrms_salary_additional.payment_id = hrms_salary_payment.payment_id 
    LEFT JOIN `hrms_salary_deduction` ON hrms_salary_deduction.payment_id = hrms_salary_payment.payment_id 
    where hrms_salary_payment.`payment_id` = 27 
    GROUP BY hrms_salary_payment.`payslip_no`, hrms_salary_additional.`item_remark`; 
+0

您可以在group by子句中添加多個字段,您可以根據這些字段來區分您的數據... –

+0

但我的演繹部分會顯示相同的數據 –

+1

是的,如果您需要所有詳細信息,那麼您的查詢很好,您爲什麼說它複製.... –