что не так с этим запросом, особенно в заявлении case, когда я добавляю оператор case в этот запрос, это дает мне эту ошибку.</p>
<pre>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)