遇到错误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是否达到最大报销额度,如果是,则使用最大上限值(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