晚上好,
我正在使用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 article_number2
Row1 1 Mercedes M1 M2
BTABLE
Name id name article_number article_number2
Row1 1 Mercedes M1 M2
Row2 2 Mercedes M1 M2
我应该得到这样的结果:
梅赛德斯:1x
梅赛德斯:1x
我明白了:
梅赛德斯:1x
梅赛德斯:1x
梅赛德斯:1x
梅赛德斯:1x
我错过了什么吗?
任何帮助将不胜感激。 提前谢谢。
答案 0 :(得分: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 是表 atable 的primary_key。
希望这适合你:)