こんにちは、データベース内に 2 つのテーブルがあります。「登録者名」フィールドとその他の情報を含む登録者テーブルと、「Business_Identifier」という列を含む参照/ルックアップ テーブルです。
「登録者名」フィールドのデータと「Business_Identifier」列に含まれるデータを比較して、「登録者名」フィールドに含まれるデータが企業のものか個人のものかを識別するという考え方です。
例は次のとおりです。
Registrant Table:
ID: 1234
Registrant NAme: ABC Ltd
Lookup Table:
ID:1,2,3
Business_Identifier: ltd,PLC,LLC
ルックアップ テーブルのデータを取得し、それが [登録者名] フィールドに表示されるかどうかを確認して、レコードをビジネスとして識別する何らかの形式のパターン マッチングを実行するストアド プロシージャを作成しようとしています。
静的リストでパターン マッチングを実行するスクリプトを作成しました。以下の例を参照してください。ただし、更新できるように静的リストをテーブルに変換する必要があります。
現在のスクリプト:
With Test as (
SELECT *
FROM [Registrant_Table]
where (patindex('%[0-9]%',UPPER([Registrant name])) > 0
or patindex('%null%',UPPER([Registrant name])) > 0
or patindex('%n/a%',UPPER([Registrant name])) > 0
or patindex('na',UPPER([Registrant name])) > 0
or patindex('%LTD%',UPPER([Registrant name])) > 0
or patindex('%None%',[Registrant name]) > 0
or patindex('%unknown%',[Registrant name]) > 0
or patindex('%Ltd%',[Registrant name]) > 0
or patindex('%ltd%',[Registrant name]) > 0
or patindex('%LLC%',[Registrant name]) > 0
or patindex('%LLc%',[Registrant name]) > 0
or patindex('%LLP%',[Registrant name]) > 0
or patindex('%LLp%',[Registrant name]) > 0
or patindex('%llp%',[Registrant name]) > 0
or patindex('%Limited%',[Registrant name]) > 0
or patindex('%LIMITED%',[Registrant name]) > 0
or patindex('%Limi%',[Registrant name]) > 0
or patindex('%Company%',[Registrant name]) > 0
or patindex('%Tele%',[Registrant name]COLLATE Latin1_General_CS_AI) > 0
or patindex('%Trade%',[Registrant name]) > 0
or patindex('%Host%',[Registrant name]) > 0
or patindex('%Domain%',[Registrant name]) > 0
)
select *
Into [Registrant_Table_Business]
from Test
どんな助けでも大歓迎です
ありがとう