Foro de elhacker.net

Programación => Bases de Datos => Mensaje iniciado por: [u]nsigned en 6 Marzo 2018, 17:52 pm



Título: REPLACE con varias reglas
Publicado por: [u]nsigned en 6 Marzo 2018, 17:52 pm
Hola, queria ver si alguien me ayuda, es posible usar varias reglas en un funcion REPLACE, por ejemplo con una sola regla seria asi:

Consulta limpia sin replace:

Código
  1. SELECT COUNT( * ) AS cantidad, cond AS condicion
  2. FROM beneficiarios
  3. GROUP BY cond

me devuelve
Citar
cantidad / condicion /
8788 /1
448 / 2
337 / 3

Consulta con una sola regla replace

Código
  1. SELECT COUNT( * ) AS cantidad, REPLACE( cond,  '1',  'Alumno' ) AS condicion
  2. FROM beneficiarios
  3. GROUP BY cond

Citar
cantidad / condicion /
8788 /Alumno
448 / 2
337 / 3

Mi duda es en ese remplace como agregar tambien que me cambie los valores 2 y 3 de cond por 'Auxiliar' y 'Docente' respectivamente.

Muchas gracias por leer!


Título: Re: REPLACE con varias reglas
Publicado por: EFEX en 6 Marzo 2018, 19:20 pm
Creo que de esta forma se puede.. no queda bonito pero prueba

Código
  1. SELECT COUNT( * ) AS cantidad,
  2.  REPLACE(REPLACE(REPLACE( cond,  '1',  'Alumno' ), '2', 'Auxiliar'), '3', 'Docente') AS condicion
  3. FROM beneficiarios
  4.  GROUP BY cond

Mm igual puedes usar if, case o incluso crear un SP(stored procedure).

https://dev.mysql.com/doc/refman/5.7/en/if.html
https://dev.mysql.com/doc/refman/5.7/en/case.html