2011-06-13 79 views
1

我在一個表中有5列。我想執行多字段搜索。這是可能的...需要在表中的所有列中搜索字符串

Table - T 
colmun - TC1 , TC2 , TC3 , TC4 , TC5 

實際查詢

select * from T 
where TC1='search' or TC2='search' or TC3='search' 
     or TC4='search' or TC5='search' or 

預計查詢

select * from T where <single condition > in ("searc") 

回答

1

可以使用CONTAINS謂詞指定搜索列的列表查詢多個列。這些列必須來自同一個表。

select * from T where CONTAINS((TC1, TC2, TC3, TC4, TC5), 'search') 
0

如果您使用CASE語句,則只需指定'search'參數一次。

select * 
from T 
where case 'search' 
     when TC1 then 1 
     when TC2 then 1 
     when TC3 then 1 
     when TC4 then 1 
     when TC5 then 1 
     else 0 
     end = 1