none
CASE CON DOS VALORES EN EL THEN RRS feed

  • Pregunta

  • saludos, tengo una consulta con un case como este

             
     FROM  [dbo].[MOTORES_V5]                  
             WHERE SUBSTRING(MODELO,1,1) =CASE @MODELO                 
                                              WHEN 0 THEN  SUBSTRING(MODELO,1,1)                
                                              WHEN 1 THEN 'M'                 
                                              WHEN 2 THEN 'T'  END       

    pero ahora resulta que si el valor es 2 tambien debe considerar que el valor sea S

    osea algo asi WHEN 2 THEN 'S'  END 

    pero no se como agregarlo

    miércoles, 26 de octubre de 2016 20:23

Respuestas

  • Normalmente es preferible hacer tus queries lo mas simples posibles y así quedan mas fácil de entender, puedes reescribir la consulta por ejemplo así:

    SELECT * FROM  MOTORES_V5         
    WHERE @Modelo = 0 OR
     (@Modelo = 1 AND SUBSTRING(MODELO,1,1)='M') OR
     (@Modelo = 2 AND SUBSTRING(MODELO,1,1) IN('T','S') )

    • Marcado como respuesta Augusto C viernes, 28 de octubre de 2016 19:21
    jueves, 27 de octubre de 2016 14:04

Todas las respuestas