我正在構建一個系統,用戶可以通過性別,年齡語言和用戶興趣搜索論壇中的用戶。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