gpt4 book ai didi

php - JOIN在mysql中显示数据两次?

转载 作者:行者123 更新时间:2023-11-29 18:08:25 24 4
gpt4 key购买 nike

SELECT *
FROM `all_salary_slip_details` `assd`
INNER JOIN `employee_master` `em` ON `assd`.`EMPLOYEE_ID` = `em`.`EMPLOYEE_ID`
INNER JOIN `employee_details` `ed` ON `assd`.`EMPLOYEE_ID` = `ed`.`EMPLOYEE_ID`
INNER JOIN `organizations` `o` ON `o`.`ORG_ID` = `assd`.`ORG_ID`
INNER JOIN `months` `mo` ON `mo`.`id` = `assd`.`PAY_MONTH`

这是我从数据库获取数据的查询。我只有 4 行,但在我看来我有 48 行。我不明白为什么会发生这种情况。

最佳答案

您需要在列上使用 GROUP BY 子句,那么您的查询将仅为该列中的每个唯一条目返回一行。

就您而言,我猜使用员工姓名是有意义的。

此查询输出什么结果?

SELECT assd.PAY_YEAR, assd.PDF, em.EMPLOYEE_NAME, o.ORG_NAME, mo.month_name
FROM all_salary_slip_details assd
INNER JOIN employee_master em
ON assd.EMPLOYEE_ID = em.EMPLOYEE_ID
INNER JOIN organizations o
ON o.ORG_ID = assd.ORG_ID
INNER JOIN months mo
ON mo.id = assd.PAY_MONTH
GROUP BY em.EMPLOYEE_NAME

关于php - JOIN在mysql中显示数据两次?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47619391/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com