MySQL - Cambiar alias campo segun condicion

   
Vista:

Cambiar alias campo segun condicion

Publicado por Mat (48 intervenciones) el 11/12/2011 19:18:06
Hola como va?

Simplemente como puedo lograr en una consulta sql cambiar alias de un campo según condición de otro campo.

el campo monto va a tener alias Haber o Debe según la condición del campo tipo

Si el campo tipo = "S" entonces el campo monto va a tener alias Haber
Si el campo tipo = "E" entonces el campo monto va a tener alias Debe

...
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
Imágen de perfil de xve

Cambiar alias campo segun condicion

Publicado por xve (898 intervenciones) el 11/12/2011 20:15:40
Hola Mat, hasta donde yo conozco, con una consulta SQL no puedes hacerlo, pero si puedes hacerlo con un stored procedures o funciones. http://dev.mysql.com/doc/refman/5.0/en/stored-routines.html
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

Cambiar alias campo segun condicion

Publicado por Gonzalo GC (339 intervenciones) el 11/12/2011 21:55:29
Debe y Haber son cosas conceptualmente contradictorias, las cuales normalmente se diseñan para ser almacenadas en tablas diferentes.
Que estos dos conceptos puedan ser leídos de la misma columna de una tabla, a mí solo me habla de un muy mal diseño de la base de datos, y una total falta de comprensión de los fundamentos de Bases de Datos.
Más allá de eso, no se puede alterar un alias en una consulta de esa forma. Lo único que puedes hacer es crear un SP, como te sugieren, tal que te de diferentes tipos de alias a través de diferentes consultas, resueltas en base a una evaluación de los datos que requieres.

Pero te insisto en lo primero: Datos contradictorios en la misma columna, significa que tu diseño de base de datos es un espanto.
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