-1

我有一个包含 200,000 个帐户的数据库,其中包含个人/家庭,即 John Doe 和企业名称。我想创建一个 SELECT 语句来仅选择企业名称,我相信唯一可能的编写方法是:

and (account like'%inc.'
or account like'%ltd'
or account like'&gmbh')

...ETC。

有没有人写过这样的东西?我还需要包括国际后缀,但我什至找不到按国家/地区列出的可靠列表。

4

1 回答 1

3

答案是,你做不到。如果你的数据太脏以至于你不知道个人和企业之间的区别,你为什么认为最后会有一个'inc.', 'gmbh''ltd'

然后,您需要考虑令人兴奋的公司名称,例如“John Deere”或“Arthur Andersen”。这些看起来很像一个人的名字。如果您没有公司结构指标,那么您将如何区分?

正确的解决方案是使用第三方供应商来更正帐户名称。您还可以考虑更改您的操作系统(输入名称的人)以放入个人/公司指示器。顺便说一句,您如何处理自己合并的个人,例如在美国作为 S-Corp 的个人?

如果您想开始一项临时工作,那么我将从查看每个名称中的最后一个单词开始:

select right(name, charindex(' ', reverse(name))), count(*), min(name), max(name)
from t
where name like '% %'
group by left(name, charindex(' ', name))

(这是获取名称中最后一个单词的 SQL Server 语法。)查看这些以查看可能的后缀列表。

顺便说一句,如果这是国际性的,如果某些语言使用前缀而不是后缀来表示公司,我不会感到惊讶。

于 2013-07-16T21:35:58.577 回答