MySQL - Update registro entre 3 parametros

 
Vista:
sin imagen de perfil

Update registro entre 3 parametros

Publicado por Paola (3 intervenciones) el 23/12/2015 18:53:42
Hola soy nueva!
Necesito actualizar un registro por "A" , "B" o "C"
La condición es que cuando A sea nulo asigne el valor de B y si B es nulo que asigne C

algo asi como:
UPDATE tabla_x
SET registro_x = A si no es NULL, de lo contrario asignarle B si no es NULL o si no C

Se que podría utilizar una condición if previamente, pero son varios registros los que requiero actualizar en la misma tabla bajo diferentes condiciones. Existe la sentencia que realice lo mencionado.

Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Update registro entre 3 parametros

Publicado por Leopoldo Taylhardat (44 intervenciones) el 24/12/2015 15:04:49
Saludos...
depende de la BD que usas... pero es algo así..
SET registro_x = if A is not null then 'A' else if B is not null then 'B' else 'C' endif endif ;
Espero que te sirva...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Update registro entre 3 parametros

Publicado por Paola (3 intervenciones) el 28/12/2015 18:46:49
Gracias :)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Jordi

Update registro entre 3 parametros

Publicado por Jordi (4 intervenciones) el 24/12/2015 15:05:35
Hola Paola,

Sí, es posible. Aquí tienes documentación sobre la función IF en MySQL: http://www.w3resource.com/mysql/control-flow-functions/if-function.php

1
UPDATE tabla_x SET registro_x = IF(A IS NOT NULL, A, IF(B IS NOT NULL, B, C));

Desglosado:

1
2
3
4
5
6
7
8
9
10
UPDATE tabla_x
SET registro_x = IF(
     A IS NOT NULL,
     A,   -- Si A no es nulo, A
     IF(  -- Si A es nulo...
        B IS NOT NULL, -- Miramos si B es nulo
        B,  -- Si B no es nulo, B
        C  -- Si B es nulo, C
     )
);
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Update registro entre 3 parametros

Publicado por Paola (3 intervenciones) el 28/12/2015 18:45:57
Gracias, me sirvió enormemente, el link también fue de mucha ayuda, no lograba encontrar como hacer la sentencia adecuadamente.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar