ЕСЛИ внутри, где предложение - SQL - PullRequest
3 голосов
/ 01 февраля 2012

Могу ли я иметь оператор if внутри предложения where, как в следующем.

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 Ответ

1 голос
/ 01 февраля 2012
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 может быть построен из логической логики.Просто предположим, что if (condition) - это просто еще одно выражение для AND.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...