0

我有这个问题

SELECT
CASE WHEN QuantityPart =< Threshold
               THEN (Threshold - QuantityPart) + Threshold
       END as RecommendedReorderQuantity, *
FROM parts, stock

谁能帮忙?

SELECT *, 
       CASE WHEN QuantityPart =< Threshold 
            THEN (Threshold - QuantityPart) + Threshold 
       END as RecommendedReorderQuantity 
FROM parts INNER JOIN stock 
        ON parts.PartID = stock.PartID
4

3 回答 3

3

应该在*你的CASEsattement之前先出现,还有一件事,它应该是

<= 不是 =<

SELECT *, 
       CASE WHEN QuantityPart <= Threshold 
            THEN (Threshold - QuantityPart) + Threshold 
       END as RecommendedReorderQuantity 
FROM parts, stock

作为旁注,该查询产生笛卡尔积。如果那不是您想要的,那么您需要提供链接条件,例如

SELECT *, 
       CASE WHEN QuantityPart <=  Threshold 
            THEN (Threshold - QuantityPart) + Threshold 
       END as RecommendedReorderQuantity 
FROM parts INNER JOIN stock 
        ON parts.columnName = stock.columnName

columnName定义它们关系的列在哪里。

于 2013-02-08T01:04:12.527 回答
0

此外,指定 else 条件是一种安全的做法,即使是微不足道的。

于 2013-02-08T01:27:04.333 回答
0

将 =< 替换为 <=

选择 CASE WHEN QuantityPart <= Threshold THEN (Threshold - QuantityPart) + Threshold END as RecommendedReorderQuantity, * FROM parts, stock

于 2013-02-08T08:40:01.837 回答