Caso de Declaración Ilegal de la Expresión SQL

0

Pregunta

No entiendo donde el mensaje de error "Ilegal expresión en CUANDO cláusula de CASO de la expresión' viene ejecutando este fragmento de código en Teradata SQL

CASE 
  WHEN f_ev1.PROCESS_NO IN 
    (
      SELECT
        numbers.PROCESS_NO
      FROM numbers
      WHERE 
        numbers.FLAG = 1
      GROUP BY 1 --no duplicates
    ) THEN 2
END AS Status,

Si yo escribo EN (algunos números) funciona muy bien. Pero es una lista que consta de 50 valores únicos que posiblemente pueden cambiar con el tiempo.

case sql teradata
2021-11-16 11:32:54
1

Mejor respuesta

0

Mi Sugerencia es que usted puede cargar el cincuenta valores en otra tabla y usted puede unirse a la tabla con la tabla principal

table_50 - Tabla con 50 valores únicos main_tbl - tabla Principal

insert into table_50 ( process_no ) SELECT numbers.PROCESS_NO FROM numbers WHERE numbers.FLAG = 1 GROUP BY 1 ;

Select case when b.process_no is null then 2  end as status from main_table a
left join table_50 b
on a.process_no= b.process_no

Desde una perspectiva de rendimiento, esto es más eficaz y también puede actualizar los valores en la table_50 como por su exigencia

2021-11-23 13:08:01

En otros idiomas

Esta página está en otros idiomas

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Slovenský
..................................................................................................................