SQL Server テーブルの author が 2 つあり、article の主キー (AuthorID) は、articles テーブルの外部キーであり、authors テーブルと article テーブルの間の単純な 1 対多の関係を表します。ここで問題が発生します。名前、姓、および経歴の列に基づいて、authors テーブルで全文検索を実行する必要があります。全文検索は素晴らしく、ランキングなどすべて機能しています。ここで、検索にもう 1 つの条件を追加する必要があります。記事以外の寄稿者はすべて検索から除外する必要があります。それを達成するために、記事を持つすべての寄稿者を含むビューを作成し、このビューに対して検索することにしました。だから私はこの方法でビューを作成しました:
Create View vw_Contributors_With_Articles
AS
Select * from Authors
Where Authors.ContributorID
IN ( Select Distinct (Articles.ContributorId) From Articles)
それは機能していますが、サブクエリが本当に好きではありません。結合により、すべての冗長な authorID が取得され、個別に試行されましたが、タイプが ntext であるため、biography 列では機能しませんでした。グループ化では、すべての列が必要なので、それらの集計ではありません。
皆さんどう思いますか?どうすればこれを改善できますか?