![]() |
duda sql
Hola!
Uso delphi 5 y Paradox. Tengo una tabla de empresas y otra de trabajos (ofertados por cada una de las empresas). Luego tengo un formulario donde el usuario rellena una serie de preferencias:lugar, tipo, sueldo... (aunque no es obligatorio rellenar todos las preferencias). Lo que quiero es una consulta en sql que me muestre los trabajos que cumplan las preferencias elegidas o que más se acerquen a ellas. Es posible eso? Muchas gracias |
Si que es posible, pero no dices que campos tiene la tabla empresas, es decir como casa con trabajos ofertados.
Código:
Select e.Codigo, t.Codigo, t.Sueldo Un Saludo. |
En la consulta sql de antes, no me reconoce el campo text del combo con lo cual no me puede comparar con el de la tabla. El código que tengo es el siguiente:
Código:
|
tendrias que sacar el valor del combo del armado de la Query
Código:
|
Ahora ya me reconoce lo del box, pero releyendo lo que me habia contestado Marcos en este hilo...no me he explicado bien. Lo que tengo es una lista de preferencias. Las preferencias son las siguientes: créditos, tipo, lugar, mes, duracion... La idea es encontrar aquella que mejor se adapte a esas preferencias. A ver si me explico: pongo un ejemplo
el usuario introduce créditos: 12 tipo: gestion lugar1: asturias mes: enero duracion (pongamos q lo deja en blanco) Ahora supongamos q no existen trabajos q reunan las 4 condiciones (12, gestion, asturias, enero), la consulta deberia enseñarme aquellos q cumplan: 12, gestion, asturias y cualquier otro mes. Que no hay pues entonces los q cumlplan: 12, gestion y otro lugar. Espero que me hayais entendido algo. :confused: Muchisimas gracias |
Solamente voy a lanzar una idea, si te gusta la desarrollas y nos dices si funciona.
1.- Con una estructura de tipo Case. evaluamos que condiciones contienen algo, por lo tanto ya sabremos cual no tenemos que añadir al SQL que pensamos armar. 2.- Hago tantos consultas como Condiciones puso el usuario, es decir si dejo en blanco una de cuatro, construyo 3 Consultas SQL. Lanzo la primera sino devuelve nada, la marco como no válida puesto que no hay nada que responda a la preguntado Con esto me quedo solamente con las que devuelven datos, supongamos que son tres. luego quedaría combinarlas entre sí es decir MiVariableTexto:=Sql1+Sql2 abro esta consulta, si devuelve algo, la combino con la 3, de esta manera, me aseguro que solamente trabajo con las preguntas que siempre devuelven registros, y en la segunda fase, las combino al máximo, es decir si las 3 combinadas devuelve algo, ya lo tengo, sino tendría que combinar 1 a 1 y quedarme o bien con la que más registros devuelva si las dos me dan resultados o con la que devuelva algo, si es que una sola combinación funciona. Un Saludo. |
La franja horaria es GMT +2. Ahora son las 02:01:47. |
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