Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 18-08-2003
romfrost13 romfrost13 is offline
Registrado
 
Registrado: jul 2003
Posts: 9
Poder: 0
romfrost13 Va por buen camino
Post Duda en Consulta SQL desde delphi

Hola a Todos Y gracias por sus anteriores respuestas...

Tengo una, no se como llamarla duda o necedad, pero quiero hacer una query de una query se puede?, me explico:

Estoy utilizando D6 e interbase 6 ademas de ib expert 2

Problema:
Tengo una vista generada en la base de datos que me agrupa informacion de 4 tablas diferentes, de ella obtengo todos los reportes en delphi.

Lo que quiero hacer es:
Desde delphi (en estos momentos ya lo hago) hacer una query utilizando el ibquery en esta query colecto la informacion de una serie de personas en determinado periodo, ahora lo que quiero hacer es otra query de esta, haciendo una suma de uno de sus campos y agrupandola por otro.

tratare de explicarlo con un diagrama
BD->VISTA->QUERY1->QUERY2
EL PROBLEMA ES COMO HAGO UNA QUERY DE OTRA SI NO TENGO IDEA DONDE ESTAN LOS DATOS Y CUANDO TRATO DE ENLAZAR LAS DOS QUERYS EN DELPHI ME MARCA O ME DICE QUE LA TABLA NO EXISTE(esto lo puedo entender por que realmente la tabla no existe es una query creada en delphi)

El motivo de hacer esto es evitar recorrer todos los registros de la vista para ir sumando los valores <- Eso ya lo intente y si funciona tomando los datos de la base de datos, ahora lo importante que no he mencionado es que la consulta 1 la filtro y quiero que las sumas se filtren tambien<-esta parte me la facilitaria si pudiese hacer la query de la query...

espero haberme explicado si no avisenme y le mando el problema con lujo de detalle...
Responder Con Cita
  #2  
Antiguo 01-09-2003
Aprendiz Aprendiz is offline
Miembro
 
Registrado: may 2003
Posts: 78
Poder: 22
Aprendiz Va por buen camino
A ver yo lo que haría es dentro de una sola consulta. Ya se que dices que no es lo que quieres hacer para no ir sumando todas las cantidades de los registros pero no es así.

Si tu pones una condición del where el tema de escoger solo un determinado rango de usuarios, vamos las condiciones iniciales de la primera query que quires hacer, y luego le añades las que tu quieres para la segunda. Esto te discriminará de una pasada todas aquellas que no interesen y ya no te las sumará con el group by que quieres hacer.

De todas maneras te recomiendo que juegues con los ordenes en las condiciones del where o que incluso te plantees tu mismo un plan de ejecución de la consulta. Mirate el IBConsole, la ventana de ejecución de consultas, tiene una pestaña de Plan de ejecución utilizado, es bastante interesante. Cuando ejecutas una consulta siempre te pone que plan ha utilizado. Además dentro de la instrucción SELECT puedes definirte el plan de ejecución, mirate la ayuda que lo explica.

Saludos
__________________
[Aprendiz]: Por que siempre hay algo nuevo que aprender.
Responder Con Cita
  #3  
Antiguo 01-09-2003
romfrost13 romfrost13 is offline
Registrado
 
Registrado: jul 2003
Posts: 9
Poder: 0
romfrost13 Va por buen camino
Gracias Por tu respuesta, ya he solucionado mi problema pero de todos modos me ha sido util la sugerencia de utilizar esa herramienta ya que no sabia de su existencia investigare al respecto...
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 22:53:54.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi