gpt4 book ai didi

tsql - 使用交叉连接更新查询

转载 作者:行者123 更新时间:2023-12-04 04:38:44 26 4
gpt4 key购买 nike

我有一张表格,上面是您可能会在公司名称中找到的单词及其同义词的字典。我想用它来标准化另一个表中的名称。例如,“WIDGET COMPANY INCORPORATED”将标准化为“WIDGET CO INC”。我认为它会像下面的交叉连接一样简单,但它似乎只针对列表中的第一个同义词运行,而不是整个列表。我会以错误的方式解决这个问题吗?如果我无法解决这个问题,我将尝试在 SSIS 中执行此操作,但我认为这会使应该是一个相对简单的任务变得过于复杂……当然,我意识到这是一个交叉连接,我们谈论的是很多行 - 准确地说是 5000 万行......

update [dbo].[Company addresses]
set [Name 1 syn] = replace(a.[Name 1 syn], ' ' + b.[Synonym] + ' ', ' ' + b.[Base] + ' ')
from [dbo].[Company addresses] a
cross join dbo.Synonyms b

最佳答案

怎么样:

DECLARE @RC int = 1;

WHILE @RC > 0
BEGIN
update [dbo].[Company addresses]
set [Name 1 syn] = replace(a.[Name 1 syn], ' ' + b.[Synonym] + ' ', ' ' + b.[Base] + ' ')
from [dbo].[Company addresses] a
inner join dbo.Synonyms b on a.[Name 1 syn] LIKE '% ' + b.[Synonym] + ' %';

SET @RC = @@ROWCOUNT;
END

关于tsql - 使用交叉连接更新查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19254228/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com