Php 左连接查询返回双结果
晚上好, 我使用左连接来查询atable和btable,但是当我运行查询时,每个结果都会返回两次。(仅当我有副本时) 我的质询如下: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
$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他们不一样。我用了第二条&第二条非常感谢。这对我有用:)谢谢你抽出时间