Sql server SQL:如何添加一些字符具有相同值的条件

Sql server SQL:如何添加一些字符具有相同值的条件,sql-server,Sql Server,我有两个表:“表1”和“表2”,在这些表中,我有上百个名字。现在我只想选择这些名称,其中前4个字符具有相同的值 到目前为止,这并不难。大概是这样的: select * from table1 join table2 on LEFT(table1.name,4)=LEFT(table2.name,4) 但我正在努力添加一个条件,即某些字符具有相同的值,例如:I=y,v=w,c=k,反之亦然 如果表1的名称为“Citty”,表2的名称为“Kitty”,我希望这个名称也出现在结果中您应该了解SQL

我有两个表:“表1”和“表2”,在这些表中,我有上百个名字。现在我只想选择这些名称,其中前4个字符具有相同的值

到目前为止,这并不难。大概是这样的:

select * from table1
join table2 on LEFT(table1.name,4)=LEFT(table2.name,4)
但我正在努力添加一个条件,即某些字符具有相同的值,例如:I=y,v=w,c=k,反之亦然

如果表1的名称为“Citty”,表2的名称为“Kitty”,我希望这个名称也出现在结果中

您应该了解SQL Server的功能。这些可通过全文搜索获得

或者,您可以创建一个clr函数并从sql调用它。

您应该查看sql Server的函数。这些可通过全文搜索获得


或者,您可以创建clr函数并从sql调用它。

这不是编程问题。这是一个商业逻辑问题。弄清楚您想要的业务规则是什么,编码就会很容易。如果这些字符等价物在您的用例中是通用的,您可以在比较中对表1或表2中的名称使用替换函数。请解释为什么需要这样做。为什么是4个字符?这是你任意决定的数字吗?你只关心英语吗?你必须在两列中替换这些值,而不是一列,然后,我重新阅读并意识到我所考虑的是值,而不是列。所以没关系,你是对的。这不是一个编程问题。这是一个商业逻辑问题。弄清楚您想要的业务规则是什么,编码就会很容易。如果这些字符等价物在您的用例中是通用的,您可以在比较中对表1或表2中的名称使用替换函数。请解释为什么需要这样做。为什么是4个字符?这是你任意决定的数字吗?你只关心英语吗?你必须在两列中替换这些值,而不是一列,然后,我重新阅读并意识到我所考虑的是值,而不是列。所以没关系,你是对的。