Sql server 2008 如果在where子句中-SQL

Sql server 2008 如果在where子句中-SQL,sql-server-2008,Sql Server 2008,我可以在where子句中使用if语句吗,如下所示 SELECT DISTINCT * FROM product p INNER JOIN product_to_vendor pv ON pv.product_id = p.product_id WHERE pv.vendor_id = @vendorId AND p.site_id = @siteId AND IF (@productStatus < 4) BEGI

我可以在where子句中使用if语句吗,如下所示

SELECT DISTINCT *
FROM product p
          INNER JOIN product_to_vendor pv
        ON pv.product_id = p.product_id
WHERE pv.vendor_id = @vendorId AND p.site_id = @siteId AND
            IF (@productStatus < 4)
        BEGIN 
            p.[rank] = @productStatus 
        END
选择DISTINCT*
来自产品p
内部连接产品到供应商pv
在pv.product\U id=p.product\U id上
其中pv.vendor_id=@vendorId和p.site_id=@siteId和
如果(@productStatus<4)
开始
p、 [排名]=@productStatus
结束
谢谢

选择DISTINCT*
来自产品p
内部连接产品到供应商pv
在pv.product\U id=p.product\U id上
其中pv.vendor_id=@vendorId
和p.site_id=@siteId
和(@productStatus<4和p.[rank]=@productStatus)

我不确定您的需求,但这里展示了如何从布尔逻辑构造
if-else
。假设if
(条件)
只是
的另一个语句,

谢谢您的回复。现在只有我有办法做到这一点。再次感谢。
SELECT DISTINCT *
FROM product p
INNER JOIN product_to_vendor pv
        ON pv.product_id = p.product_id
WHERE     pv.vendor_id = @vendorId 
      AND p.site_id = @siteId 
      AND (@productStatus < 4 AND p.[rank] = @productStatus)