2016-05-04 11 views
-1

IよDISTINCT句を使用して、次のクエリを持っているが、結果はまだ重複したIDのを示していますSQL SELECT DISTINCTまだ示す重複

SELECT DISTINCT 
    rl.countryid, rl.resellerid, c.countryname, c.iso2, r.resellerid 
FROM reseller_locator rl 
INNER JOIN countries c 
    ON rl.countryid = c.countryid 
LEFT JOIN resellers r 
    ON r.parentid = 7 
WHERE 
    rl.resellerid = 7 
    OR rl.resellerid = r.resellerid 

enter image description here

enter image description here

+2

私たちのためにあなたのテーブルにいくつかのレコードを提供する必要があります。そしてあなたの期待される出力が何であるかを示してください。 – Kason

+2

意図したとおりに動作します。国名が重複している場合は、再販業者の列が区別されます。あなたが実際に持ちたい結果は何ですか? – Ellesedil

+0

上記の2番目のスクリーンショットは、私が探しているものです。 – Brasciole

答えて

5

DISTINCTは全てに関し、列が指定されているので、もしあなたが同じcountryidであるが異なるreselleridの2つのレコードが表示されます。

+0

私は理解しています。メソッドに代わる方法はありますか? – Brasciole

+4

どの列に異なる値があるかを調べる必要があります。次に、保持したい値を決定する必要があります。あなたが気にしないなら、最も速い解決策は 'MAX'を使うことです。いくつかのサンプルデータを投稿し、さらに助けることができます –