Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/87.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 标量值函数-输出表_Sql_Sql Server_Mds - Fatal编程技术网

Sql 标量值函数-输出表

Sql 标量值函数-输出表,sql,sql-server,mds,Sql,Sql Server,Mds,我最近在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), pri

我最近在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语句(三列)获得如下输出:

相似性对于任何不知道的人来说都是一个标量值函数


我认为,由于它不是表值函数,因此我无能为力。

我认为这样的查询可以满足您的要求:

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;

您打算如何将表中的行与其自身关联起来?是否始终是第1行和第3行、第2行和第4行等,或者是否希望将每一行与其他行进行比较(例如,也有一个Alexia Geogio Ian的结果?谢谢。这基本上就是我要找的。尽管有一个输入错误:pt1。
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;