Sql server 2008 如果在where子句中-SQL
我可以在where子句中使用if语句吗,如下所示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
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)