我的 SQL Server 2008 数据库中有下表
dbo.FormEmployment
------------------
employmentID int (PK)
formID int (FK)
gradeID int
employerName nvarchar
我希望创建一个查询,该查询将根据他们的gradeID 选择所有用户。目前我有以下查询
DECLARE @gradeID int
SET @gradeID = 1
SELECT distinct u.userID, u.userTypeID, u.firstName, u.lastName, u.email, u.password, u.contactNumber, u.organisationID, u.emailVerificationCode, u.mobileVerificationCode, u.userStatusID
FROM [User] u, dbo.FormEmployment emp, dbo.Form f
WHERE u.userTypeID = 47
--Grades
AND emp.gradeID = @gradeID
AND f.formID = emp.formID
AND f.locumID = u.userID
上面的查询允许我声明一个gradeID,然后获取与该gradeID 匹配的所有用户。但是,我还需要能够声明几个gradeID,例如,我希望我的参数@gradeID 是这样的
设置@gradeID = 1、2、3
这样它将获得所有具有 1、2 或 3 级的用户。
反正有这样做吗?任何帮助或指导将不胜感激,因为我必须为应用程序构建的搜索依赖于它。
谢谢。
编辑
有关搜索如何工作的更多信息。
每个 GradeID 都将存储在数据库中的一个表中。用户将看到gradeID 的复选框列表,然后他们将能够从该列表中选择任意数量的gradeID。一旦他们单击“提交”,他们选择的等级 ID 将被传递到我的存储过程以执行搜索。