Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 12-08-2004
el_enigma1 el_enigma1 is offline
Miembro
 
Registrado: may 2004
Posts: 57
Poder: 21
el_enigma1 Va por buen camino
Select mostrando otro dato

Hola que tal.
Quiero seleccionar un dato de una tabla pero que el dato que me muestre se otro, es decir en una tabla cliente quiero mostrar sus campos, tiene uno que se llama tipo el cual es un caracter y puede ser uno de los siguientes valores e,b,r o m. e de excelente, b de bueno, r de regular y m de malo y quiero saber como si es que es posible en sql, lograr que si el cliente en el campo tipo tiene un valor e me retorne excelente, si tiene un valor de b me retorne bueno y asi respectivamente.
De antemano gracias.
Responder Con Cita
  #2  
Antiguo 12-08-2004
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 28
jachguate Va por buen camino
Cool

esto no tiene una solución estándar... y si es posible y cómo conseguirlo dependerá del motor que uses.

Hasta luego.

__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate

Última edición por jachguate fecha: 12-08-2004 a las 05:26:02.
Responder Con Cita
  #3  
Antiguo 12-08-2004
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.339
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por el_enigma1
Quiero seleccionar un dato de una tabla pero que el dato que me muestre se otro, es decir en una tabla cliente quiero mostrar sus campos, tiene uno que se llama tipo el cual es un caracter y puede ser uno de los siguientes valores e,b,r o m. e de excelente, b de bueno, r de regular y m de malo y quiero saber como si es que es posible en sql, lograr que si el cliente en el campo tipo tiene un valor e me retorne excelente, si tiene un valor de b me retorne bueno y asi respectivamente.
Como bien te han dicho si lo quieres hacer en el SGBD, dependerá de cual usas, por ejemplo en SQLServer puedesutilizar algo similar a ésto:

Código SQL [-]
// consulta normal; decimales es un número
select decimales, * from tmoneda
 
// Para que los decimales salgan con letra... 
select 
 Cuantosdecimales = case decimales
   when '1' then '1 decimal'
   when '2' then '2 decimales'
   when '3' then '3 decimales'
   when '4' then '4 decimeles'
   when '5' then '5 decimales'
   when '6' then '6 decimales'
   else '...demasiados'
 end,
 * from TMoneda

Si usas otro, talvez puedas buscar si hay algo similar

Otra opción es hacerlo sobre el DBGrid (si es que los Datos los estás sacando finalmente en el DBGrid); Se trata de programar el evento OnDrawColumnCell y a partir del valor de la columna pintar otra cosa.

Código Delphi [-]
  DBGrid.Canvas.TextRect(
     Rect{parámetro del evento}, 
     Left{cambialo segun la alineación que le quieras dar al texto}, 
     Rect.Top{a que altura se pinta el texto}, 
     Text{texto nuevo que quires pintar});
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #4  
Antiguo 12-08-2004
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 28
jachguate Va por buen camino
Cool

Cita:
Empezado por Neftali
Otra opción es hacerlo sobre el DBGrid (si es que los Datos los estás sacando finalmente en el DBGrid); Se trata de programar el evento OnDrawColumnCell y a partir del valor de la columna pintar otra cosa.
En mi opinión, es preferible a esto, por su sencillez, valerse del método onGetText del TField asociado, te recomiendo que leas el help sobre él, y veras que es muy sencillo devolver el significado de cada letra o indice.

De cualquier manera, creo que lo que querias es obtenerlo mediante SQL, ¿no?. Antes de ver todas las posibles soluciones en todos los posibles motores, preferiría que digas en cual trabajas...

Hasta luego.

__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate

Última edición por jachguate fecha: 12-08-2004 a las 17:47:18.
Responder Con Cita
  #5  
Antiguo 12-08-2004
el_enigma1 el_enigma1 is offline
Miembro
 
Registrado: may 2004
Posts: 57
Poder: 21
el_enigma1 Va por buen camino
Cita:
Empezado por jachguate
De cualquier manera, creo que lo que querias es obtenerlo mediante SQL, ¿no?. Antes de ver todas las posibles soluciones en todos los posibles motores, preferiría que digas en cual trabajas...

Estoy trabajando con interbase 6.
Y voy probar las sugerencias que me dieron, tal vez con eso sea suficiente.

Última edición por el_enigma1 fecha: 12-08-2004 a las 23:57:46.
Responder Con Cita
  #6  
Antiguo 13-08-2004
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Las opciones que te presentan son del todo correctas pero quizá antes de esto cabe preguntarse si no sería mejor agregar la 'tabla de significados' a la base de datos y usar relaciones de tablas como dios manda.

// Saludos
Responder Con Cita
  #7  
Antiguo 14-08-2004
el_enigma1 el_enigma1 is offline
Miembro
 
Registrado: may 2004
Posts: 57
Poder: 21
el_enigma1 Va por buen camino
Cita:
Empezado por roman
Las opciones que te presentan son del todo correctas pero quizá antes de esto cabe preguntarse si no sería mejor agregar la 'tabla de significados' a la base de datos y usar relaciones de tablas como dios manda.

// Saludos
La verdad nunca he utilizado 'tabla de significados'.
Como quedaria el select?
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 01:34:06.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi