1

重複が同じまたは類似している[説明]列のすべてのアイテムを検索するクエリを作成する必要があります。

現在のクエリでは、まったく同じ値がすべて検索されますが、類似した値が含まれている必要があります。たとえば、SQLSqlとsql。

SELECT 
    Description, COUNT(*) AS Count_Of    
FROM
    Source 
GROUP BY
    [Description]  
HAVING 
    COUNT(*) > 1   

LIKEを使用して、定義したものに類似するすべてのアイテムをテーブルで検索する方法を知っていますが、この問題に適用できますか?

ありとあらゆる助けに感謝します、ありがとう。

--2013年3月26日編集

私が同じように言うとき、私は大文字と小文字を区別する以上のことを意味します。私は会社名を扱っており、MonstersIncやMonstersIncorporatedなどの異なる名前を使用している人々を説明する必要があります。

また、データベースに冗長性がある企業を把握できるように、出力に説明が何であるかを表示したいと思います。

それ以来、大文字と小文字の区別を次のように処理してきました。

SELECT
    LOWER (Description), COUNT(*)AS Count_Of

解決済み

繰り返される正確なものをすべて検索するクエリがあります。また、指定したアイテムの類似アイテムをすべて検索するクエリもあります。

それを解決するために私がしたことは、最初のクエリを実行し、繰り返されるすべてのアイテムをテーブルに保存し、次に2番目のクエリを変更して、実行すると、作成したテーブルの各アイテムの類似アイテムがすべて見つかるようにすることでした。

助けてくれたすべてに感謝します

4

3 に答える 3

1

大文字と小文字を区別しない比較を実行することだけを意味する場合は、GROUP BY句の一部として適切な大文字と小文字を区別しない照合を指定するだけです。

たとえば、次を使用できます。

SELECT 
    Description COLLATE SQL_Latin1_General_CP1_CI_AS,
    COUNT(*) AS Count_Of    
FROM
    Source 
GROUP BY
    [Description] COLLATE SQL_Latin1_General_CP1_CI_AS
HAVING 
    COUNT(*) > 1 
于 2013-03-25T22:11:46.730 に答える
1

「類似」の意味によっては、SOUNDEXが役立つ場合があります。

http://www.techonthenet.com/oracle/functions/soundex.php

そうでない場合、同様の意味は何ですか?

于 2013-03-25T22:35:36.983 に答える
1

Group By + CASE WHENを使用して同様の値をグループ化できますが、実行するには面倒な作業が必要です。たとえば、次のようになります。


 SELECT 
    CASE WHEN DESCRIPTION LIKE '%ONE%' THEN 'LIKEONE'
         WHEN DESCRIPTION LIKE '%TWO%' THEN 'LIKETWO'
         ELSE 'LIKEOTHER'END , COUNT(*) AS Count_Of    
FROM
    Source 
GROUP BY
    CASE WHEN DESCRIPTION LIKE '%ONE%' THEN 'LIKEONE'
         WHEN DESCRIPTION LIKE '%TWO%' THEN 'LIKETWO'
         ELSE 'LIKEOTHER'END 
HAVING 
    COUNT(*) > 1 
于 2013-03-25T23:29:20.787 に答える