![]() |
Sin usar Subselect
Saludos.....
Tengo un problemilla de rendimiento al abrir un query. tengo las siguientes tablas. PORTAFOLIO secportafolio descripcion PORTAFOLIODET secportafoliodet secportafilio secactividad sec_rscatid J_CONTRATACION_ITEMS sec_rscatid secactividad sobre la tabla PORTAFOLIODET estan los campos secactividad y sec_rscatid, sobre la tabla J_CONTRATACION_ITEMS estan los mismos campos, la idea es que sin usar subselect porder determinar cuales son los registros que le hacen falta a PORTAFOLIODET para que sea igual a J_CONTRATACION_ITEMS donde el campo sec_rscatid sea igual a un valor. Muchas gracias |
Hola andresenlared, sería mucho mejor que pusieras datos, y en base a esos datos el resultado que quieres obtener así nos daríamos cuenta mas rapido, si te he entendido, mas o menos sería así.
Algo así tendría que ser. Saluditos |
Caro...Gracias por responder.
En datos seria algo asi.. PORTAFOLIODET secportafoliodet secportafolio secactividad sec_rscatid 1 22 10 50 2 22 15 50 3 22 13 50 4 23 10 50 5 24 13 80 J_CONTRATACION_ITEMS secjcontratacionitems secactividad sec_rscatid 1 10 50 2 15 50 3 13 50 4 30 50 5 40 50 6 50 50 7 13 80 8 17 80 La condicion: sec_rscatid=50 and secportafolio=22 Resultado secjcontratacionitems secactividad sec_rscatid 4 30 50 5 40 50 6 50 50 Gracias |
Hola de nuevo, con la consulta que te puse, debería devolverte esto
secjcontratacionitems secactividad sec_rscatid 4 30 50 5 40 50 6 50 50 7 13 80 8 17 80 claro que en el Select se estan mostrando todos los campos, ahí colocas solo los que necesites. Lo que no entiendo es esto "La condicion: sec_rscatid=50 and secportafolio=22". ¿tienes que aplicar alguna condición? , ademas si se aplicara no veo relación con el resultado que se esta obteniendo. Saluditos |
Carito...gracias por responder....
El sql que me enviaste ya lo habia probado y no me daban los registros que necesitaba.... la condicion que coloque es porque la tabla PORTAFOLIODET esta relacionada con la tabla PORTAFIOLIO y el campo SECPORTAFOLIO en PORTAFOLIODET es foranea. la consulta que necesito es unicamente para la informacion de un solo portafolio por eso la condicion de secportafolio=xx De tanto probar me resulto lo que necesitada y el JOIN no lo hice sobre los dos campos y me quedo asi...
Por lo general siempre uso el Right o left para determinar cuando un registro esta en una tabla y que no este en otra y me funciona pero cuando el enlace es por un solo campo, para este caso el enlace se da por dos campos y no entiendo por que no funcionaba aplicando la misma filisofia.....pero bueno ya solucione el problema de rendimiento y efectivamente es mas rapido de esta forma que usando un subselect.. Gracias :) |
| La franja horaria es GMT +2. Ahora son las 04:33:50. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi