我在一个表中有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")
答案 0 :(得分:1)
您可以使用CONTAINS谓词通过指定要搜索的列列表来查询多个列。列必须来自同一个表。
select * from T where CONTAINS( (TC1, TC2, TC3, TC4, TC5), 'search')
答案 1 :(得分: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