SQL - 使用带外卡的另一个表中的排除列表

时间:2017-06-13 15:53:27

标签: sql wildcard

我已经在其中创建了一个包含许多业务排除名称的表,以便在我收到每周数据文件时,我希望针对排除列表运行业务名称,然后我将其标记为已排除。如果它是我想要排除的确切名称,我可以实现此目的,但我想针对我的新数据在每个业务排除名称上运行通配符。

例如: 我在我的排除表中有一个名为“Marks and Spencers”的商业排除名称,但我在我的新数据文件中有一个名为“Marks and Spencers Manchester”的帐户,我希望将其排除在外,因此喜欢的内容不匹配所以我想要做一些可能使用Like函数的东西,在这个例子中使用类似“Where ExclusionName like”Marks and Spencer%“” 我显然可以使用上面的逻辑来实现,但是我想查看新文件中的所有数据,如果要排除帐户,则通过排除列表标记。

这是否必须使用游标实现?以及更大的数据文件和相当大的排除列表的效率如何?

任何建议都将受到赞赏。

由于

DC

1 个答案:

答案 0 :(得分:0)

我的建议是扩展您的排除表,以便它是一个“做什么”表。每条记录至少应包括一个公司名称和“该做什么字段”。这些值表示您是否应该包含或排除每周导入的记录。

获得每周导入时,将所有记录放入临时表中。然后运行一个报告,显示所有不在“要做什么”表中的名称。对每条记录做出决定,并使用适当的值将其添加到表中。然后继续进行每周导入的任何操作。

这似乎很乏味,但你会得到更好的结果。使用Marks and Spencers示例,除了末尾的城市之外,您可能会获得一些包含撇号,拼写错误,城市开始等的记录,等等。