2017-06-13 141 views
1

我创建了一个表中包含多个业务排除名称,用于收到每周数据文件的目的我希望针对排除列表,然后我将标记为被排除在外。如果这是我想要排除的确切名称,我可以实现此目的,但我想针对每个业务排除名称对我的新数据运行通配符。SQL - 使用通配符排除其他表中的列表

例如: 我在排除表中有一个商业排除名称是“Marks and Spencers”,但我在我的新数据文件中有一个名为“Marks and Spencers Manchester”的帐户,我想排除这样的帐户因为不匹配,所以我想要做一些可能使用Like函数的东西,并且在这个例子中使用类似“Where ExclusionName like”的标记和Spencer%“” 我明显可以实现使用上面的逻辑,但是我想要去通过新文件中的所有数据遍历排除列表,标记是否要排除该帐户。

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

任何意见,将不胜感激。

感谢

DC

+0

你可以将数据导入到表中吗? –

+0

您正在使用哪些DBMS? –

回答

0

我的建议是扩大你排除表,这是一个“做什么”的表。每个记录至少应包括一个企业名称和一个“做什么领域”。这些值将指示您是应该在每周导入中包含还是排除记录。

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

这可能看起来很乏味,但你会得到更好的结果。使用马克斯和斯宾塞的例子,除了城市的最后部分,你可能会得到一些记录,包括撇号,拼写错误,开始时的城市,等等。

相关问题