基于IF语句将WHERE语句添加到SQL查询

时间:2014-03-20 10:00:50

标签: sql

问题:如果有一个

,我只想过滤PropertySearch值

我希望能够有一个基于此的动态SQL语句。

我添加了If @PropertySearch,它从webform上的文本框中进行过滤。

搜索最多 - 如果@PropertySearch<> '' - 如果我评论代码

将会有效

-

If @PropertySearch <> '' 
       BEGIN
           TblA.PropertyID LIKE '%' + @PropertySearch + '%' OR TblA.Propertyname LIKE '%' + @PropertySearch +' %'        
       END  

-

我想只在有@PropertySearch时过滤PropertyID / PropertySearch。

我看过'BEGIN'以及嵌套表之后有'AND',但我正在努力

If @RegionID = 1  --then  -- Head office users
    BEGIN
    SELECT TblA.PropertyID as PId, TblA.Propertyname as PNa, TblB.FireSafetyDisplay as FireSafety1, TblB.SlipsandTripsDisplay as SaT  
    FROM TbPropertyDetails as TblA inner join TbPropertyDetailsSafeguarding as TblB on TblA.PropertyID = TblB.PropertyID 
    WHERE TblA.RegionID > 0  

       If @PropertySearch <> '' 
       BEGIN
           TblA.PropertyID LIKE '%' + @PropertySearch + '%' OR TblA.Propertyname LIKE '%' + @PropertySearch +' %'        
       END 
    END

1 个答案:

答案 0 :(得分:4)

WHERE TblA.RegionID > 0 AND (@PropertySearch = '' 
 OR TblA.PropertyID LIKE '%' + @PropertySearch + '%' OR TblA.Propertyname LIKE '%' + @PropertySearch +' %')