2012-09-21 9 views
6

sé lenguajes como PHP tiene la estructura de casos y controles interruptor que soporta múltiples validaciones en una declaración solo caso similar,Cómo escribir una instrucción MYSQL CASE WHEN con múltiples condiciones de búsqueda?

Switch $x { 
    case 1,2,3: 
     $a = 0; 
     break; 
    case 5,6: 
     $a = 1; 
     break; 
} 

Del mismo modo se puede hacer esto en MySQL? Probé a continuación, que realmente no funcionó :(aunque

CASE vc_shape 
    WHEN ('02' OR '51') THEN SET dc_square_1 = dc_square_1 + dc_row_total; 
    WHEN ('06' OR '30' OR 83) THEN SET dc_square_2 = dc_square_2 + dc_row_total; 
    ..... 
    ..... 
    ELSE 
     BEGIN 
     END; 
END CASE; 

Alguna idea de cómo puedo lograr esto

Respuesta

12

Uso otro formato para CASE declaraciones:?

CASE 
    WHEN vc_shape IN ('02', '51') THEN SET dc_square_1 = dc_square_1 + dc_row_total; 
    WHEN vc_shape IN ('06', '30', '83') THEN SET dc_square_2 = dc_square_2 + dc_row_total; 
    ..... 
    ..... 
    ELSE 
     BEGIN 
     END; 
END CASE; 
Cuestiones relacionadas