Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/260.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/58.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 左连接查询返回双结果_Php_Mysql_Left Join - Fatal编程技术网

Php 左连接查询返回双结果

Php 左连接查询返回双结果,php,mysql,left-join,Php,Mysql,Left Join,晚上好, 我使用左连接来查询atable和btable,但是当我运行查询时,每个结果都会返回两次。(仅当我有副本时) 我的质询如下: $sql=" SELECT * FROM atable A LEFT JOIN btable B ON (A.article_number = B.article_number) WHERE A.article_number2 = B.article_number2 "; atable Name id name article_number a

晚上好,

我使用左连接来查询atablebtable,但是当我运行查询时,每个结果都会返回两次。(仅当我有副本时)

我的质询如下:

$sql="
SELECT *
FROM atable A
LEFT JOIN btable B ON (A.article_number = B.article_number)
WHERE A.article_number2 = B.article_number2
";
atable

Name   id  name       article_number article_number2
Row1   1    Mercedes     M1                M2
Name   id  name       article_number article_number2
Row1   1    Mercedes     M1                M2
Row2   2    Mercedes     M1                M2
b表格

Name   id  name       article_number article_number2
Row1   1    Mercedes     M1                M2
Name   id  name       article_number article_number2
Row1   1    Mercedes     M1                M2
Row2   2    Mercedes     M1                M2
事实上,我应该得到这样的结果:

梅赛德斯:1x
梅赛德斯:1辆

我明白了:

梅赛德斯:1x
梅赛德斯:1x
梅赛德斯:1x
梅赛德斯:1辆

我错过什么了吗

任何帮助都将不胜感激。
提前感谢。

您的SQL非常正确,只需将GROUP BY添加到SQL查询中即可

SELECT *
FROM atable as A
LEFT JOIN btable as B ON (A.article_number = B.article_number)
WHERE A.article_number2 = B.article_number2
GROUP BY A.id
这里A.id是表或表的主键


希望这对你有用:)

如果不知道你的数据库结构和内容,当然不可能回答Robbie。我很抱歉。非常累。我将更新主题。谢谢@Robbie Averill我刚刚更新了我的主题。我希望你能帮忙。我在谷歌上搜索了2个多小时。你不需要在
ON
WHERE
中指定连接条件。它应该只在上的
中。但这与问题无关。@Barmar他们不一样。我用了第二条&第二条非常感谢。这对我有用:)谢谢你抽出时间