![]() |
duda para armar una consulta
Gente, les hago una consulta, tengo una tabla donde guardo la direccion, por ejmplo con los siguientes campos
Calle Numero Piso Departamento en algunas direcciones solo se usa la calle y el numero, y para algunos se usa la calle el numero el piso y el departamento Como podria hacer una consulta que tome la calle y el numero si el piso y departamento no esta cargado o tome todos los campos cuando esten cargados. Espero q se entienda lo que quiero. Gracias |
Creo que puedes concatenar todos los campos y de esta manera los que estuvieran vacios simplemente no aparecerían.
Un Saludo. |
si esa puede ser pero ....
puede ser el tema es que no quedaria del todo legible, por ejemplo
si una persona vive en Sarmiento 45 Dpto 4 y otro vive en Sarmiento 74 Piso 4 Dpto 1 si concateno todo quedarian Sarmiento 45 4 y Sarmiento 74 4 1 yo ahora lo que hago es, si no tiene piso le cargo '--' si no tiene dpto le cargo '--' y despues hago lo que vos me decis, el tema es que salen muchos '--' y queda desprolijo |
¿no sería más legible aún incluir los labels?
De forma que quede: Sarmiento nº 45 Dpto 4 Sarmiento nº 74 Piso 4 Dpto 1 Otra opción totalmente distinta es poner un Memo y que el usuario escriba la dirección completa, a veces es útil, para una dirección del tipo: Ctra. Nacional 3, km 33 polígono Prado Verde donde pastan las vaquitas nave 3 23332 Sevilla Saludos |
si seria mas legible
Quedaria muy lindo con los label, ahora con una consulta sql como se puede hacer?
como se puede hacer para ver si tiene datos en el campo Dpto poner en el resultado Dpto 4, y si no tiene no poner nada Es posible? o hay que hacerlo de otra manera?. Gracias |
¿De qué Base de datos hablamos? Porque el sql de paradox no es igual a Firebird, MySql, Postgree, etc.
¿donde iría el texto de la dirección? ¿en un informe de QuickReport, FastReport? ¿En un Label de una ventana? Saludos |
interbase
la base es de interbase y el texto podria ir en una grilla si es q con una consulta se puede obtener y seria el origen de la grilla
|
Pues lo mejor, creas un campo que se llame Direccion_Completa y que el usuario no lo pueda modificar.
En un Trigger before insert y before update, lo haces en manual: Que const que lo he escrito de memoria y para Firebird, no sé las peculiaridades que tiene Interbase, pero debe funcionar. Al menos en firebird tienes una udf llamada CONCAT que permite sustituir al operador "||", la verdad, no sé si es estandar del SQL. Un detalle importante: Yo pregunto si el campo es nulo, pero si has guardado dos guiones, deberás decir: if new.Dpto = "--" then Cuando quieras la dirección por trozos, accedes a los campos calle, numero, Dpto. Cuando quieras la dirección completa, accedes a ese nuevo campo. Es lo que se me ocurre de momento, si alguien tiene una idea mejor, bienvenida sea. Saludos. |
La franja horaria es GMT +2. Ahora son las 12:34:55. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi