当我向查询中添加案例语句时,如何解决缺少的关键字

时间:2019-06-24 16:22:19

标签: case-statement case-expression

当我向该查询添加case语句时,特别是在case语句中,此查询有什么问题,它给了我这个错误。

SELECT PS.PAID,
       PS.STOCK_ID,
       P.PNAME,
       INVOICE,
       MOSTAND_INVNO,
       PS.INDATE,
       DECODE ( :P4_SALES,  2, GET_DOCTOR_NAME(DOCTOR_ID),  1, GET_SERVICE_NAME(SUP_SERVICE),  0, GET_SANF_NAME(SANF_ID)) CODE,
       QTY,
       RETQTY,
       DECODE ( :P4_SALES,  2, DOCTOR_PRICE,  1, PRICE,  0, PRICE) PRICE,
         (QTY - RETQTY)
       * DECODE ( :P4_SALES,  2, DOCTOR_PRICE,  1, PRICE,  0, PRICE) TOTAL
  FROM PATAINT_SERVICES@LIVER_LINK PS , PATAINT@LIVER_LINK P
  WHERE PS.PAID = P.PAID 
 AND     PS.PATAINT_STATUS = DECODE ( :P4_AVAL,  0, 0,  1, 1 )
       AND PS.PAID = :P4_CODE
       AND TO_DATE (INVDATE, 'DD/MM/YYYY') BETWEEN TO_DATE ( NVL(:P4_FROM,'01/01/2000'),
                                                            'DD/MM/YYYY')
                                               AND TO_DATE ( NVL(:P4_TO,'31/12/2100'),
                                                            'DD/MM/YYYY')
       AND INVOICE_CAT = DECODE ( :P4_SALES,  0, 0,  1, 1,  2, 2)
       AND (DOCTOR_CANCEL IS NULL OR DOCTOR_CANCEL = 0)  
      AND (CASE WHEN :P_STOCK = 1 THEN PS.STOCK_ID IS NULL END)</code>

0 个答案:

没有答案