THEN
mệnh đề trong CASE
biểu thức không chính xác:
CASE WHEN SUM(L55.TOTAL_QUANTITY - BC.FULLBOX * L55.PACKING_STYLE) = 0
THEN L55.SPAREBOX = 0
----------^
WHEN SUM(L55.TOTAL_QUANTITY - BC.FULLBOX * L55.PACKING_STYLE) != 0
THEN L55.SPAREBOX = 1
END AS SPARE_QUANTITY
Oracle không có kiểu dữ liệu Boolean trong SELECT
truy vấn.
Tôi đoán rằng bạn chỉ muốn:
(CASE WHEN SUM(L55.TOTAL_QUANTITY - BC.FULLBOX * L55.PACKING_STYLE) = 0
THEN 0
WHEN SUM(L55.TOTAL_QUANTITY - BC.FULLBOX * L55.PACKING_STYLE) <> 0
THEN 1
END) AS SPARE_QUANTITY
Hoặc, nếu bạn muốn loại bỏ CASE
:
ABS(SIGN(SUM(L55.TOTAL_QUANTITY - BC.FULLBOX * L55.PACKING_STYLE))) AS SPARE_QUANTITY