嗨,
我有錶行像上面的圖片,我想總結的所有行的數量,但我需要排除排在那裏AISLE = POS和數量< 0在同一行上。
我做了一些嘗試得到我想要什麼,但我不能找到解決辦法:
SELECT
ROUND(SUM(QTY),
2) AS INVENTORY
FROM
INV_QTY_LOCATION
WHERE
PRODUCT = 143459 AND AISLE != 'PHY' AND AISLE != 'RET' AND case when AISLE = 'POS' AND QTY > 0
闖闖
SELECT
ROUND(SUM(QTY),
2) AS INVENTORY
FROM
INV_QTY_LOCATION
WHERE
PRODUCT = 143459 AND AISLE != 'PHY' AND AISLE != 'RET' AND (AISLE = 'POS' AND QTY > 0)
在這種特殊情況下的結果應該是161
解決方案
SELECT
ROUND(
SUM(
CASE WHEN(AISLE = 'POS' AND QTY > 0) OR AISLE != 'POS' THEN QTY ELSE 0
END
),
2
) AS INVENTORY
FROM
INV_QTY_LOCATION
WHERE
PRODUCT = 143459 AND AISLE != 'PHY' AND AISLE != 'RET'
會發生什麼事,當你運行你的代碼? –