0

最近、SQL Developer のインスタンスに Master Data Services をインストールしました。SQL Studio Manager で MDS データベースを選択すると、次のクエリを実行できるようになりました。

SELECT mdq.Similarity(N'Alexia Geogio', N'Alexandra George', 0, 0.0, 0.0);

次に、以下の DDL を参照してください。

create table #Person (ID int not null identity, Name varchar(100), primary key (ID))
INSERT INTO #Person (Name) values ('Alexia Geogio')
INSERT INTO #Person (Name) values ('Alexandra George')
INSERT INTO #Person (Name) values ('Ian')
INSERT INTO #Person (Name) values ('Iain')

SQL ステートメント (3 列) で次のような出力を取得することは可能ですか?

Alexia Geogio Alexandra George 0.5625
Alexandra George Alexia Geogio 0.5625
Ian Iain 0.75
Iain Ian 0.75

mdq.Similarity は、知らない人のためのスカラー値関数です。

これはテーブル値関数ではないので、私にできることは何もないと思います。

4

1 に答える 1

2

このようなクエリは、あなたが望むことをすると思います:

select name1, name2, similarity
from (select p1.name as name1, p2.name as name2,
             mdq.Similarity(p1.name, p2.name, 0, 0.0, 0.0) as similarity
      from #person p1 cross join
           #person p2
     ) pp
where similarity > @SimilarityLimit  -- perhaps 0
order by similarity;
于 2016-01-06T15:29:49.887 に答える