Ver Mensaje Individual
  #1 (permalink)  
Antiguo 09/06/2014, 11:08
Avatar de jlct
jlct
 
Fecha de Ingreso: abril-2012
Ubicación: Venezuela
Mensajes: 148
Antigüedad: 12 años, 7 meses
Puntos: 19
ERROR ORA-00905: falta una palabra clave

Hola a Todos en FDW, necesito una ayudita con una consulta, es una consulta sencilla pero estoy tratando de implementar un CASE dentro de la clausula WHERE y me esta generando el Error ORA-00905 el cual no logro detectar.

Código SQL:
Ver original
  1. SELECT C_Invoice.C_Invoice_ID,NULL,C_Invoice.DocumentNo,C_Invoice.IsActive,XX_NRO_COMPROBANTE,XX_NRO_COMPROBANTEISLR
  2. FROM C_Invoice
  3. WHERE C_Invoice.DocumentNo IS NOT NULL  
  4. AND C_Invoice.IsSoTrx='N' AND C_Invoice.AD_Client_ID IN (0,1000000)
  5. AND C_Invoice.DocStatus IN ('VO','RE') AND CASE '1' WHEN '1' THEN XX_NRO_COMPROBANTE IS NOT NULL AND XX_NRO_COMPROBANTE <> ' '
  6. WHEN '2' THEN XX_NRO_COMPROBANTEISLR IS NOT NULL AND XX_NRO_COMPROBANTEISLR <> ' ' END)
  7. ORDER BY C_Invoice.DocumentNo DESC

Código ERROR:
Ver original
  1. [Error] Líneas de script: 1-7
  2.  ORA-00905: falta una palabra clave
  3.  Línea de script 5, línea de instrucción 5, columna 86

La columna 86 comienza desde aquí IS NOT NULL AND XX_NRO_COMPROBANTE <> ' '

de verdad que no detecto el error, por eso vengo al foro para ver si a alguien más le ha pasado y me puede ayudar.

Saludos.