我需要编写以下伪代码的有效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中具有"合格的旧名称".再次感谢.
假设这两个表以某种方式相关.
SELECT newTable.* FROM newTABLE JOIN oldTable ON <JOIN CRITERIA>
WHERE newTable.[Name] LIKE oldTable.name
Run Code Online (Sandbox Code Playgroud)
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)
| 归档时间: |
|
| 查看次数: |
296 次 |
| 最近记录: |