2012-02-01 48 views
3

我可以在where子句中使用if語句,如下所示。如果在where子句中 - SQL

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 

感謝

回答

1
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) 

我不知道你的要求,但在這裏它顯示瞭如何if-else可以從布爾邏輯來構建。假設(condition)只是AND的另一種說法。

+0

謝謝你的回覆。現在只有我有辦法做到這一點。再次感謝。 – NilushiH 2012-02-01 05:10:45