2つのテーブルがあり、それら2つのテーブルから共通のレコードを取得するために結合を使用しています。次のクエリを使用しましたが、問題はレコードが2倍になることです。クエリは次のとおりです
SELECT * FROM pos_metrics pm INNER JOIN pos_product_selling pps ON
pm.p_id=pps.p_id WHERE pm.p_id='0' AND pps.pos_buying_id='0' AND pm.type=1
pos_metricsテーブル:
pos_product_sellingテーブル:
出力:
編集
GROUP BYとDISTINCTを一緒に使用しようとすると、重複が発生しませんが、2番目のテーブルの値が繰り返されます。他の解決策はありますか?
pos_metrics
テーブルに主キーを追加してpos_product_selling
テーブルに導入し、主キーと他の基準に基づいてJOIN
を実行します。その場合、これらの重複は取得されません。
ここで重複しているのは、値に基づいて両方のテーブルで一意の比較が行われる可能性がないためです。
このようなものを試してください
GROUP BY pos_product_selling.metrics
これを試して:
SELECT DISTINCT * FROM ...
GROUP BY pm.metrics
重複を排除するには、以下を使用します。
select distinct * from ...
しかし、私はあなたの質問が何か他のものについてであると感じています-そして、あなたはより多くの助けのために特定のコードを投稿する必要があるでしょう。
SELECT * FROM pos_metrics pm, pos_product_selling pps
Where pm.p_id=pps.p_id AND pm.p_id='0' AND pps.pos_buying_id='0' AND pm.type=1
上記のクエリを試してください