2016-11-17 10 views
-2

こんばんはを返すLEFTは、二重の結果に

をクエリをJOINを私はLEFTを使用していますATABLEBTABLEを照会するために、JOINが、私は、クエリを実行すると、私は二回裏、それぞれの結果を得ます。 (私は重複を持っている場合のみ)

私のクエリは次の通りである:

$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私はこの結果を取得する必要がありますAcually

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

メルセデス:1倍
メルセデス:1倍

私はこれを取得:

メルセデス:1倍
メルセデス:1倍
メルセデス:1倍
メルセデス:1X

何か不足していますか?

ご協力いただければ幸いです。 ありがとうございます。

+1

データベースの構造と内容もちろん、ロビーの –

+0

を知らなくても、お答えすることは不可能。ごめんなさい。とても疲れた。トピックを更新します。ありがとう –

+0

@ Robbie Averill 私の話題を更新しています。私はあなたが助けることを願っています私は2時間以上のグーグルグーグル。 –

答えて

1

あなたのSQLは、あなたがSQLクエリにGROUP BYを追加するだけで一番正しいものです。

ここ
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です。これはあなたのために働く

希望:)

+0

ありがとうございました。それは私のために働く:)あなたの時間をありがとう –