Buscar un valor en varias columnas

304 views
Skip to first unread message

ZeRoberto

unread,
Sep 12, 2020, 1:02:43 AM9/12/20
to publicesvfoxpro
Un amigo programador me pidió hacerle un formulario de búsqueda donde se ingresa un valor y mediante un SELECT busca el valor en una serie de columnas que el va especificando.

Este es el código que el lo hacia en vfp
vvlocate=ALLTRIM(thisform.vlocate.Value)
Select codigo, marca, modelo, descripcion From crm_data where  (TRIM(vvlocate)$codigo or TRIM(vvlocate)$marca OR TRIM(vvlocate)$modelo OR TRIM(vvlocate)$descripcion) into cursor _view_crm ORDER BY &vOrder asc

Y yo le tengo que hacer en MySQL pero me pregunto con tanto OR no saturaria al servidor?

Saludos

Ze



James Suárez

unread,
Sep 12, 2020, 3:38:44 AM9/12/20
to publice...@googlegroups.com
NO.
Puedes hacer un índice si deseas optimizar la consulta

--
Visita el Blog de la Comunidad Visual FoxPro en Español: http://comunidadvfp.blogspot.com
---
Has recibido este mensaje porque estás suscrito al grupo "Comunidad de Visual Foxpro en Español" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a publicesvfoxp...@googlegroups.com.
Para ver esta conversación en el sitio web, visita https://groups.google.com/d/msgid/publicesvfoxpro/CAMkTt8pZ79awfNitJuUV9srKePh_muBR7%2ByMdK-c8vvzLK50Nw%40mail.gmail.com.

Zarlu

unread,
Sep 12, 2020, 12:21:03 PM9/12/20
to Comunidad de Visual Foxpro en Español
Buenos días ZeRoberto!

Para Vfp en lugar de "OR" puedes concatenar y usar LIKE

SELECT * From datos WHERE codigo+marca+modelo LIKE "%"+lcDato+"%"

Suerte
zarlu
Chetumal, Quintana Roo, México

Víctor Hugo Espínola Domínguez

unread,
Sep 12, 2020, 2:40:15 PM9/12/20
to publice...@googlegroups.com
Este tipo de búsqueda es más útil si se lo hace en la "tabla extendida", resultado del select a la tabla base relacionada (left join) a las tablas relacionadas.
Con un buen diseño de datos marca y modelo deberían ser tablas relacionadas a crm_data. 
Concatenar o varios OR: Creo que varios OR sería más eficiente debido a que al encontrar una condición cumplida ya no se evalúan las demás.
Armar el select en VFP o en SP: Mi voto es hacerlo en VFP, si se hace en SP se debe armar y usar dynamic sql, pero hay que hacer pruebas comparativas para una 

Saludos,
Víctor.
Lambaré - Paraguay.



--

Víctor Hugo Espínola Domínguez

unread,
Sep 12, 2020, 2:46:17 PM9/12/20
to publice...@googlegroups.com
Este tipo de búsqueda es más útil si se lo hace en la "tabla extendida", resultado del select a la tabla base relacionada (left join) a las tablas relacionadas.
Con un buen diseño de datos marca y modelo deberían ser tablas relacionadas a crm_data. 
Concatenar o varios OR: Creo que varios OR sería más eficiente debido a que al encontrar una condición cumplida ya no se evalúan las demás.
Armar el select en VFP o en SP: Mi voto es hacerlo en VFP, si se hace en SP se debe armar y usar dynamic sql, pero hay que hacer pruebas comparativas para una 
llegar a una conclusión.

Saludos,
Víctor.
Lambaré - Paraguay.


El sáb., 12 de sep. de 2020 a la(s) 01:02, ZeRoberto (zero...@gmail.com) escribió:
--

ZeRoberto

unread,
Sep 12, 2020, 5:00:38 PM9/12/20
to publicesvfoxpro
Hola Zarlu tu propuesta de concatenar las columnas y buscar ahí me parece un buena idea, voy a checarlo y te aviso

Saludos

Ze



ZeRoberto

unread,
Sep 12, 2020, 5:03:30 PM9/12/20
to publicesvfoxpro
Hola Victor Hugo mi preocupacion es que si usar multiples OR harian mas lenta consulta, aunque no se si concatenando las columnas tendrán el mismo efecto, pero voy a revisarlo y cualquier cosa les aviso.

Saludos

Ze



mpulla

unread,
Sep 12, 2020, 5:20:56 PM9/12/20
to Comunidad de Visual Foxpro en Español
Ho ZeRoberto.

Es posible que lo satures, en Sql server tienes Full-Text Search, lo utilice hace mucho me fue útil, mysql también lo tiene a lo mejor te sirve.

Una opción a concatenar columnas para la consulta puede ser las columnas calculadas persistentes.

Saludos.
Mauricio 


ZeRoberto

unread,
Sep 13, 2020, 2:35:42 AM9/13/20
to publicesvfoxpro
Gracias Zarlu realmente funcionó y no tuve que modificar mucho mi formulario de búsquedas

multicolumn.jpg


Saludos

Ze 



El sáb., 12 de sep. de 2020 a la(s) 11:21, Zarlu (not...@prodigy.net.mx) escribió:
Reply all
Reply to author
Forward
0 new messages