SQL中查找表的最佳实践

chr*_*982 6 sql sql-server-2008-r2

如果这个问题听起来很奇怪,我对SQL很新.

我一直在讨论数据不佳的问题.作为一个例子,伦敦可以存储为LON,伦敦英国,伦敦英国等.在使用SQL之前,我有很多Excel查找表,在第一列中我将拥有原始版本,然后是2n更正版本.举个例子:

Name             Name_1
London, UK       London
Lon              London
LON              London
London           London
London, England  London
LND              London
Run Code Online (Sandbox Code Playgroud)

有没有一种直接的方法在SQL中执行此操作,我目前正在尝试创建查找表,然后使用连接.这变得很棘手,因为我并不总是对每个实例都进行更正,因此在某些情况下(大多数情况下),我的查找表比我加入它们的项目更少.

我一直在教自己存储过程,我想知道这是否符合我的需要.麻烦是我搜索查找表的主题是空的.

将非常感激地收到任何建议或指示.即使只是这样也无法做到.

一如既往地感谢您对长篇文章的帮助和批评.

小智 2

您不必做任何其他事情,如果您没有翻译,只需返回原件即可。

SELECT
t1.FirstName,
t1.LookupField,
case when t2.Name_1 is null 
    then t1.lookupfield 
    else t2.name_1 end Name_1
FROM People as t1
LEFT INNER JOIN TableLookupCities as t2
ON t1.LookupField = t2.Name
Run Code Online (Sandbox Code Playgroud)

  • 并且代替“大”case/when/else/end,您可以使用: `coalesce(t2.name_1, t1.lookupfield) as name_1` (2认同)