如何编写T-SQL查询来执行"喜欢"?

Aar*_*mer 5 sql t-sql

我需要编写以下伪代码的有效T-SQL查询版本:

select * from newTable where [name] like in (
    select [name] from oldTable
)
Run Code Online (Sandbox Code Playgroud)

我不知道该如何解决这个问题.任何帮助(甚至指导我现有的问题)都会很棒.谢谢!

编辑:根据一些评论,我将澄清这个特殊情况.表格如下所示:

oldTable
code varchar(10)
name varchar(500)

newTable
code varchar(10)
name varchar(500)
Run Code Online (Sandbox Code Playgroud)

在oldTable.code <> newTable.code的所有情况下,我想看看oldTable.name是否与newTable.name中的名称之一一样.基本上,一些新名称在名称的开头或结尾添加了限定符.即:"旧名称"可能在newTable中具有"合格的旧名称".再次感谢.

Mat*_*nes 6

假设这两个表以某种方式相关.

SELECT newTable.* FROM newTABLE JOIN oldTable ON <JOIN CRITERIA>
WHERE newTable.[Name] LIKE oldTable.name
Run Code Online (Sandbox Code Playgroud)


Stu*_*rth 5

DECLARE @nt TABLE (NAME VARCHAR(10))
DECLARE @ot TABLE (NAME VARCHAR(10))

INSERT INTO @nt VALUES('Stuart')
INSERT INTO @nt VALUES('Ray')


INSERT INTO @ot VALUES('St%')
INSERT INTO @ot VALUES('Stu%')


SELECT *
FROM @nt n
WHERE EXISTS (SELECT *
                FROM @ot o
                WHERE n.name LIKE o.name)
Run Code Online (Sandbox Code Playgroud)


Mar*_*man 1

我认为你只需要删除类似的内容,例如:

select * from newTable where [Name] in (select name from oldTable)