私はかなり探していて、必要なものに合った解決策を見つけることができないようです。名前が重複している顧客の詳細を表示するクエリを作成するにはどうすればよいですか?
私は多くの顧客を持つテーブルを持っていますが、問題はこのテーブルに多数の重複があることです。
私は、レコードが重複している顧客と同じ名前のテーブルに含まれる顧客の数を見ることができましたが、これを分割してすべての情報を表示して確認できます私たちがそれらを見上げるとき、顧客が正しいものであること。
SELECT COUNT(NAME), NAME
FROM DEV.ALL_CUSTOMER
GROUP BY NAME
HAVING COUNT(NAME) > 1;
次のように表示される結果が得られます:
SELECT COUNT(NAME), NAME, TOTAL_PURCHASED, ADDRESS, CITY, STATE_PROV, POSTAL_CODE, COUNTRY, HOME_PHONE, WORK_PHONE, WORK_EXT, OTHER_PHONE, EMAIL_ADDRESS
FROM DEV.ALL_CUSTOMER
GROUP BY NAME, TOTAL_PURCHASED, ADDRESS, CITY, STATE_PROV, POSTAL_CODE, COUNTRY, HOME_PHONE, WORK_PHONE, WORK_EXT, OTHER_PHONE, EMAIL_ADDRESS
HAVING COUNT(NAME) > 1;
:
COUNT(NAME) | NAME
------------|-------------------
3 | Smith, John
2 | Doe, Jane
2 | Doe, Joe
2 | Smith, Jane
は、私は、私は必要な情報のすべてのフィールドに追加を
私はこのコードを使用していました
これでもグループ化されており、各レコードの情報は表示されません:
COUNT(NAME) | NAME | TOTAL_PURCHASED | ADDRESS | CITY ...
------------|-------------|-----------------|---------|------- ..
3 | Smith, John | 0 | (null) | (null) ..
2 | Doe, Jane | 0 | (null) | (null) ..
2 | Doe, Joe | 0 | (null) | (null) ..
しかし、5人の「John Smith」顧客のうちの1人が購入したことが分かりました。
代わりに、私は次のように出てくる結果を希望:
NAME | TOTAL_PURCHASED | ADDRESS | CITY ...
------------|-----------------|---------------|------- ..
Smith, John | 250 | 123 Fake St. | (null) ..
Smith, John | 0 | (null) | Oshawa ..
Smith, John | 300 | (null) | Toronto .
Doe, Jane | 0 | (null) | (null) ..
Doe, Jane | 300 | 456 Fake St. | Toronto .
Doe, Joe | 11235 | (null) | (null) ..
Doe, Joe | 0 | (null) | (null) ..
おそらく私は何かが不足していますが、あなたの望む結果が "select * from all_customers order by name"ではないでしょうか?たぶん、 '(あなたのグループによる/あなたのグループの名前)'で ''。 –
私は 'SELECT [FIELDS] FROM DEV.ALL_CUSTOMER HAVING COUNT(NAME)> 1;'を試しましたが、エラーです。 – WolfieeifloW