Ошибка выполнения Missing keyword
появляется и выделяется на моей второй строке запроса. Я попытался удалить лишний случай, когда все еще произошло.Отсутствует ключевое слово во вложенной инструкции CASE WHEN
CASE WHEN NVL(BAT_WK02,0)>=NVL(TARGET_BAT,0) THEN
CASE WHEN NVL(RMO_ENTITLED_WK01,0)>0 THEN NVL(SKU_SALES_WK02,0) >= NVL(TARGET_SKU,0) THEN NVL (TARGET_SKU,0) * 1 ELSE NVL(SKU_SALES_WK02,0) *1
WHEN NVL(RMO_ENTITLED_WK01,0)=0 THEN NVL(SKU_SALES_WK02,0) >= NVL(TARGET_SKU,0) THEN NVL (TARGET_SKU,0) * 0.50 ELSE NVL (SKU_SALES_WK02) * 0.50 END
ELSE 0 END RMO_ENTITLED_SKU_02,
Любые предложения, которые помогут мне в этом?
в основном я получил три вещи, которые нужно проверить, сначала, если BAT_WK02 больше, чем TARGET_BAT, затем перейдите к проверке, идет ли RMO_ENTITLED_WK01 t (достигнута цель wk_01) или нет (не удалось достичь цели wk01). Если RMO_ENTITLED_WK01 получил значение, то далее, чтобы проверить, соответствует ли значение SKU_SALES_WK02 максимальному возмещению, если да, используйте умножитель max (TARGET_SKU) 1 в противном случае используйте показатель продаж (SKU_SALES_WK02) * 1; Если RMO_ENTITLED_WK01 равно 0 (не достигают цели wk01), тогда он должен (SKU_SALES_WK02) * 0.50 , пожалуйста, дайте мне знать, если потребуется уточнение, спасибо. – user2256904
Можете ли вы дать некоторые данные образца и ожидаемый результат – Mansoor
Конечно. IF RMO_ENTITLED_WK01 = 5; SALES_CAP = 10; SALES_WK02 = 15 THEN SALES_CAP * 1 IF RM0_ENTITLED_WK01 = 5; SALES_CAP = 20; SALES_WK02 = 15 THEN SALES_WK02 * 1 IF RMO_ENTITLED_WK01 = 0; SALES_CAP = 10; SALES_WK02 = 15 THEN SALES_CAP * 0,5 IF RMO_ENTITLED_WK01 = 0; SALES_CAP = 20; SALES_WK02 = 15 THEN SALES_WK02 * 0.5 надеюсь, что это поможет! – user2256904