FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
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. |
#2
|
||||
|
||||
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. |
#3
|
||||
|
||||
Cita:
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.
__________________
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. |
#4
|
||||
|
||||
Cita:
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. |
#5
|
|||
|
|||
Cita:
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. |
#6
|
||||
|
||||
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 |
#7
|
|||
|
|||
Cita:
Como quedaria el select? |
#8
|
||||
|
||||
Bueno, el término es de mi propia invención aunque no desde luego el concepto. A este tipo de tablas yo las conozco como catálogos. Proveen una descripción asociada a un código.
En tu caso, tienes la tabla clientes, digamos: clientes = (id, nombre, domicilio, telefono, tipo_id) Agregarías la tabla de descripciones a tu base de datos: tipos = (id, tipo) con los datos: Código:
id | tipo ----+---------- e | exccelente b | bueno r | regular m | malo
// Saludos |
#9
|
|||
|
|||
Neftali:
La opcion de sql no me funciona(uso interbase6 y talvez en este no se puede o giual lo hice mal) y la del evento onDrawCell no me gusta mucho. jachguate: Con el onGetText hace lo quiero. roman: Es una buena opcion. Gracias por su ayuda, seguie buscando e intentando a ver si me queda en sql pero todo parece indicar que no. |
#10
|
||||
|
||||
La solucion de Roman, es excelente!!!!!!!!!
yo haria lo siguiente: usaria campos calculados..... en la lista de campos de tu dataset, agregaria un campo calculado llamado tipoCliente, por ejemplo, y en el evento oncalcFields del dataset, comprobaria los valores del campo (donde estan guardados e, b, r, m ) y en base a esos valores asignarle el respecitvo valor a el campo TipoCliente espero haberte ayudado P.S. no es desde sql como tu querias, pero funciona
__________________
Estudia y anda en la calle.... que asi serás el doble de listo que los demás... análisis de información análisis y diseño de sistemas Paoti Rios Reséndiz |
#11
|
|||
|
|||
Cita:
|
#12
|
||||
|
||||
Cita:
Si en todos estos días aún no han decidido lo más probable es que, aunque decidan tenerlos fijos, apenas entregues la aplicación, te pedirán que agregues alguna otra categoría. Es la ley de Murphy. La opcion de OnGetText yo la usaría sólo en bases cuya estructura no puedo modificar, pero si tengo la opción pues prefiero agregar el catálogo. // Saludos |
#13
|
||||
|
||||
Creo sinceramente que siempre que haya alguna posibilidad de que la tabla de significados cambie, es mejor usar la base de datos. En casos específicos (como el sexo, por ejemplo) en que no hay posibilidades que surgan nuevos ( bueno, habrá quien opine lo contrario, ) la solución del OnGetText es válida y funcional, dandote la ventaja de no tener que hacer viajar las descripciones por la red.
En fin, la experiencia es la que te va dando un mejor criterio para decidir... Hasta luego.
__________________
Juan Antonio Castillo Hernández (jachguate) Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate |
#14
|
||||
|
||||
Cita:
Pero nada más por llevar la contraria diré que, incluso en casos como éste puede convenir tener la tabla ya que la descripción puede cambiar. Un día puede ser (Hombre, Mujer) y al otro (Masculino, Femenino). En cuanto a lo de viajar a través de la red bueno, es cierto, pero en el caso de catálogos que se van a usar una y otra vez en varios lados de la aplicación se pueden cargar al inicio en un ClientDataSet para no estar molestando a la bd en cada ocasión. // Saludos |
#15
|
|||
|
|||
Cita:
Como hago lo del ClienDataSet? |
#16
|
|||
|
|||
Cita:
|
Herramientas | Buscar en Tema |
Desplegado | |
|
|
|