2011-08-11 24 views
0

我有表使用全文搜索一些索引列:在一些列上使用動態隱私設置在Sql Server 2008中使用全文搜索索引?

表人士 ID 名稱完全收錄 家庭完整收錄 地址全索引

表privacyOnPerson PERSONID AddressPrivacy布爾

當執行以下搜索項=「NewYork」時

選擇ID ,姓名,家庭,解決因人員 WHERE FREETEXT(地址,「紐約」)

但在這種情況下,我

我怎麼能做到這一點並沒有參與我的考慮對地址欄的隱私設置? ??

回答

1

SQL Server沒有布爾數據類型,你的意思是位?沒有表格結構和樣品數據,很難知道你想要什麼。但作爲一個完整的猜測,你想加入這兩個表在一起,如下所示:

select 
    p.ID , 
    p.Name , 
    p.Family , 
    p.Address 
from 
    dbo.Persons p 
    join dbo.PrivacyOnPerson pp 
    on p.ID = pp.PersonID 
where 
    p.FREETEXT(Address,"NEWYork") and 
    pp.AddressPrivacy = 0x0 
+0

是的我的意思是位數據類型。謝謝你的回答,但如果我有很多專欄有隱私的話。我如何編寫連接問題以僅忽略具有隱私的列。請注意,相同的記錄可能在某些列上有隱私權,而在其他列上可能沒有。 –

+0

如果沒有表結構和示例數據,你的問題是不可能回答的,因爲你問的是你開發的某些東西,而不是MSSQL內置的東西。我認爲你已經開發了一些邏輯來防止用戶根據存儲在另一個表中的動態條件來查看某些列中的數據? – Pondlife

+0

確定我的朋友,我會爲您提供的樣本數據: 第一個表: 成員表有以下 ID(PK) - 名字 - 姓氏 - 薪資 PrivacyMembers表有以下 ID - MEMBERID(FK) - FirstNamePrivacy(位) - LastNamePrivacy(bit) SalaryPrivacy(bit) 我必須在名字,姓氏,工資欄上使用全文搜索,但在考慮隱私表時需要考慮 –

相關問題