0

実行しようとしているこの全文検索クエリに問題があります。2 つのテーブルで全文検索を行う必要があります。いずれかの用語がいずれかのテーブルにある場合、最初のテーブルからレコードを返す必要があります。

select R.* from Request R 
    inner join Patients P on R.PatientID = P.PatientID
    inner join containstable(Request,(*),@keywords)AS KEY_TBL 
    ON R.RequestID = KEY_TBL.[Key] 
    full outer join 
    (select R.* from Request R 
    inner join Patients P on R.PatientID = P.PatientID
    inner join containstable(Patients,(*),@keywords) AS KEY_TBL2 
    ON P.PatientID = KEY_TBL2.[Key]) as b on R.RequestID = b.RequestID
4

1 に答える 1

1

必要なのは、完全な外部結合ではなくユニオンだけでした。

select R.* from Request R 
    inner join Patients P on R.PatientID = P.PatientID
    inner join containstable(Request,(*),@keywords)AS KEY_TBL 
    ON R.RequestID = KEY_TBL.[Key] 
    UNION
    select R.* from Request R 
    inner join Patients P on R.PatientID = P.PatientID
    inner join containstable(Patients,(*),@keywords) AS KEY_TBL2 
    ON P.PatientID = KEY_TBL2.[Key]
于 2012-11-27T18:49:45.150 に答える