次のデータベース テーブルと、そのデータを表すビューがあります。テーブルは階層型です(それがあなたの記述方法である場合):-
編集: 3 つのテーブルを偽のテーブル名/データ (この投稿用) に置き換えました。これは、プロジェクトなどについて何も投稿しないように NDA の下にあるためです。 :)
ファーストネーム
FirstNameId INT PK NOT NULL IDENTITY
Name VARCHAR(100)
ミドル・ネーム
MiddleNameId INT PK NOT NULL IDENTITY
Name VARCHAR(100) NOT NULL
FirstNameId INT FK NOT NULL
姓
SurnameId INT PK NOT NULL IDENTITY
Name VARCHAR(100) NOT NULL
FirstNameId INT FK NOT NULL
したがって、firstname は親テーブルで、他の 2 つのテーブルは子です。
ビューは次のように見えます...
人名
FirstNameId
FirstName
MiddleNameId
MiddleName
SurnameId
Surname
ここにいくつかのサンプルデータがあります。
FNID FN MNID MN SNID SN
-----------------------------------
1 Joe 1 BlahBlah 1 Blogs
2 Jane - - 1 Blogs
3 Jon - - 2 Skeet
ここで問題です。ビューで名前を効率的に検索するにはどうすればよいですか? 全文検索/カタログを使用する予定でしたが、それをビューに配置できません (または、少なくともビューに対して GUI を使用して機能させることはできません)。
編集 #2: 検索クエリの例をいくつか示します:-
exec uspSearchForPeople 'joe blogs' (1 result)
exec uspSearchForPeople 'joe' (1 result)
exec uspSearchForPeople 'blogs' (2 results)
exec uspSearchForPeople 'jon skeet' (1 result)
exec uspSearchForPeople 'skeet' (1 result)
フルネームで新しいテーブルを生成する必要がありますか? それはどのように見えるでしょうか?
助けてください!