怎么做对了? - SQL Server查询

时间:2011-02-12 11:29:49

标签: sql-server-2008

我的数据库中有一个名为Emplyee的表,其中包含以下列:

Categ - int
WorkPlace - int
WorkPlace1 - int
EducationalLevel - varchar(100)
System - varchar(100)
Type - varchar(100)
ApData - varchar(100)

我正在制作一个搜索表单,我不知道如何进行这种复杂的查询。

首先,类别是主要类别,WorkPlace是子类别,WorkPlace1是WorkPlace的子类别

我想选择与Categ和WorkPlace以及WorkPlace1匹配的所有行,并在其他列中搜索字符串。

换句话说,我想在类别列中匹配时在这些列中搜索EducationnalLevel,System,Type,ApData。

我怎么做?

提前致谢。

1 个答案:

答案 0 :(得分:0)

这是解决此问题的一种方法(假设您为以@开头的所有项目定义变量):

declare @search varchar(100)
set @search = '%FIND_ME%'

select *
from Emplyee 
where Categ = @Categ and WorkPlace = @WorkPlace and WorkPlace1 = @WorkPlace1 and
(
   EducationalLevel like @search OR
   System like @search OR
   Type like @search OR
   ApData like @search
)