我正在构建一个系统,用户可以通过性别,年龄语言和用户兴趣搜索论坛中的用户。T-SQL搜索结果OR/AND条件
我有这个存储过程:
ALTER PROCEDURE dbo.FindFriends
(
@language int,
@country nvarchar(50),
@sex int,
@ageFrom int,
@ageTo int,
@category nvarchar(50)
)
AS
SELECT u.*, cat.*
FROM [User] AS u
INNER JOIN categories AS cat ON u.user_id=cat.user_id
WHERE (age_presenentation BETWEEN @ageFrom AND @ageTo) AND [email protected] AND [email protected] AND [email protected]
这种说法是我想要的。但有时,用户可能无法进入某些字段。例如,用户可能仅通过类别搜索用户。这将导致没有用户出现,因为我使用“And”运算符。有没有一种方法来结合逻辑,以便如果任何sql变量(例如@category,@angeTo)被赋予为空,那么语句将不包含它们?
你有一个小错误..它是变量语言不行话..在第二行..非常的解决方案 – 2012-04-27 17:18:38
你是对的,我的坏。我编辑过它。 – NickV 2012-04-27 17:27:09