![]() |
Se puede hacer una consulta a un campo calculado?
Buenos Días:
Tengo una tabla que almacena el Nombre de personas en 3 partes o campos Nombre, ApellidoPaterno y ApellidoMaterno. Configure un "campo calculado" llamado "NombreCompleto" mas a la tabla usando esa funcionalidad de Delphi donde su valor es la suma de los 3 campos anteriores y entre ellos un espacio en blanco para que ahi contenga el Nombre completo. Voy a realizar una ventanite simple para poder encontrar o consultar nombres en la tabla y seria mas sencillo poder hacer una consulta en base al campo "NombreCompleto" sin embargo me parece que eso no puede funcionar al hacer una consulta SQL sobre ese campo por que la consulta es en base a la estructura fisica real de la tabla y no a la virtual cierto?? O si se puede???????? :confused: |
Es correcto, la consulta sql solo te devuelve los campos existentes en la tabla o el resultado de las operaciones entre esos campos.
En lugar de un campo calculado, puedes usar una función en sql que haga lo mismo . suerte |
Lo podrías hacer de dos maneras :
1.- Tienes los campos que el usuario introdujo separados por espacios. Puedes utilizarlos por separado 2.- Puedes concatenar los campos en el where de la select y realizar la comparación por la concatenación. Si no entiendes algo no dudes en preguntar. Un saúdo. |
Gracias por sus respuestas
Efectivamente, creo que el campo calculado lo tendre que crear en tiempo de ejecucion del SQL de la siguiente forma "mas o menos":
Select funcion_concatena(nombre, apellidoP, apellidoM) as NombreCompleto where NombreCompleto like '%Nombre_Que_Se_Busca%' Verdad??? Asi sera? |
Si lo quieres hacer con like creo que sería más correcto lo siguiente :
Código:
//Descomponemos el nombre completo en nombre, apellido1, apellido2 Un saúdo |
La franja horaria es GMT +2. Ahora son las 10:40:38. |
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