Php Mysql左连接返回多行

Php Mysql左连接返回多行,php,mysql,left-join,Php,Mysql,Left Join,我有3个表,一些字段的名称是相同的。下面是第一个名为semp的表: 第二个人的名字semp\k: 第三个是semp\y: 你看,主表是第一个,其他表与之相关。第一张桌子有三行。所以当我取回它时,它必须返回3行。但当我获取第一个表时,它将返回的行乘以第二个表和第三个表的总和。这是我的密码: SELECT s.*, k.*, y.* FROM semp AS s LEFT JOIN semp_k AS k ON s.no = k.semp_no LEFT JOIN semp_y AS y ON

我有3个表,一些字段的名称是相同的。下面是第一个名为semp的表:

第二个人的名字semp\k

第三个是semp\y:

你看,主表是第一个,其他表与之相关。第一张桌子有三行。所以当我取回它时,它必须返回3行。但当我获取第一个表时,它将返回的行乘以第二个表和第三个表的总和。这是我的密码:

SELECT s.*, k.*, y.* FROM semp AS s LEFT JOIN semp_k AS k ON s.no = k.semp_no LEFT JOIN semp_y AS y ON s.no = y.semp_no WHERE s.durum = 1 ORDER BY s.bas_t DESC

使用MySQL
groupby

group by s.no
或者试试这个:-

SELECT
s.*, k.*, y.*
FROM
semp AS s
LEFT JOIN semp_k AS k ON s. NO = k.semp_no
LEFT JOIN semp_y AS y ON s. NO = y.semp_no
WHERE
s.durum = 1
GROUP BY s.no
ORDER BY
s.bas_t DESC
您需要使用分组方式。 您的查询应该是这样的

SELECT
    s.*, k.*, y.*
FROM
    semp AS s
LEFT JOIN semp_k AS k ON s. NO = k.semp_no
LEFT JOIN semp_y AS y ON s. NO = y.semp_no
WHERE
    s.durum = 1
GROUP BY s.no
ORDER BY
    s.bas_t DESC

使用s.noIs的group是这样简单吗?:)非常感谢。如果我的回答对你有帮助,请接受我的回答:)@Habip OĞUZ