如果它们具有相似的名称/值,则sql联接2个表

用户名

我正在尝试联接具有公用列“ NAME”的2个表,但是数据的排序如下:


表A

NAME
B C Corporations
Tefal Inc.
West, Tom
Anne Zagabi
(C) NamyangSoy

表B

NAME
BC Corporations
Tefal Inc
Tom West
AnneZagabi
( C ) NamyangSoy

以上是我遇到的情况。这确实很丑陋,但是让我认为使用sql可能的一件事是,两个表中至少一个单词的拼写是相同的。

但是,我尝试了soundex,但是代码实际上不是英语,因此它不起作用(上面只是我用英语编写的一个示例)。我已经试过了差分函数,但是它也不起作用(所有值都为4,我想是因为它不是英语的?我不确定)。

我试着逐个字母地加入,但也没有用。我希望是否还有其他方法可以完成。.我正在使用sqlcanvas,数据库是sybase。两个表都有近30列,每个都有〜12,000行

这样的事情对您有用吗?

从[表A]中选择*一个连接[表B] b在REPLACE(a.Name,'',))= REPLACE(b.Name,'','')

使用“替换”功能删除所有空格并比较结果。

例如,运行此

 select
 CASE
 WHEN REPLACE('T  E  S  T', ' ', '') =  REPLACE('TE  ST', ' ', '')  THEN  'TRUE' else 'FALSE'
 END

使用代码替换所有非字母字符:

CREATE FUNCTION [dbo].[fncRemoveNonAlphanumericChars](@Temp VarChar(1000))
RETURNS VarChar(1000)
AS
BEGIN
WHILE PatIndex('%[^A-Za-z0-9]%', @Temp) > 0
SET @Temp = Stuff(@Temp, PatIndex('%[^A-Za-z0-9]%', @Temp), 1, '')

RETURN @TEmp
END

例子:

SELECT dbo.fncRemoveNonAlphanumericChars('abc...DEF,,,GHI(((123)))456jklmn')

结果:

abcDEFGHI123456jklmn

(来自此处:http : //jayhollingum.blogspot.com/2011/01/sql-server-remove-non-alphanumeric.html

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何联接两个查询中哪些表具有相似的名称?

如果单元格值在另一个单元格中具有相似的值,则串联它们

SQL-用与列值相似的词联接表

如何检查两个元组的Item2列表是否具有相似的值?

当DF在R中具有2个相似的列名称时,选择1列

Pandas:两个大小不同但值相似的数据框。当 df1 具有相似的值时,我需要来自 df2 的数据

SQL:具有相似表的多个左联接

找到2个名称相似的文件,然后将它们移动到新位置

结合两个非常相似的功能,它们具有明显的差异

当具有相似值的列具有相似的行值时合并两个不同的数据帧

PHP-如果元素每条记录具有相似的标记,则获取正确的XML值

如果输入具有相似的值,我如何从中返回多个结果

如何联接具有相同主键名称但值不同的两个表

如果两个表的行在列中具有不同的值,则将它们绑定

联接具有相似结构的2个表的视图将不会更新(因为它包含派生字段或常量字段)

如果行具有相似的元素,则保留较短的行

在SSMS中联接许多具有相似名称的表的简单方法?

合并具有与数据框相似的名称约定的文件

CakePHP 3查询构建器,具有两个相似的值

检索2个联接表的相似列

SQL Query 对具有相似属性的 2 个不同表进行排序

SQL Server联接两个具有自己的值和日期的表

检查列是否在 Excel 中具有相似的值

列中具有不同值时如何联接2个表

熊猫联接2个表-并添加具有相同列名的列值

将具有逗号分隔的varchar值的表与SQL Server中另一个表的ID值联接

连接2个表(即使它们具有空值)并加总每一行

在解析相似的命名XML元素时,如何为具有动态名称的环境变量分配值?

具有相同名称的列的联接表上的Rails“ .pluck”返回一个值,然后返回nil