Foros del Web

Foros del Web (http://www.forosdelweb.com/)
-   SQL Server (http://www.forosdelweb.com/f87/)
-   -   Selects, Joins Having y calculos... (http://www.forosdelweb.com/f87/selects-joins-having-calculos-589440/)

xcars 23/05/2008 15:45

Selects, Joins Having y calculos...
 
saludos, tratare de ser breve.
tengo las siguientes tablas:

1) Gestiones: Gestiones realizadas por gestores
2) Gestores: Maestro de Gestores
3) Resultados de las Gestiones: Cuando se hace una gestion esta tiene un resultado ej: a) Cliente no encontrado (no efectiva) b) Cliente Promete pagar (Efectiva) c) Cliente evade deuda (No efectiva) d) Cliente desea refinanciamiento (efectiva)
4) Niveles de Efectividad: 1- Efectivas o 2- no Efectivas

Se relacionan de la siguiente forma:
Gestiones - Gestores
Gestiones - Resultados de las gestiones
Resultados de las gestiones - Niveles de Efectividad

Ok, de estas tablas necesito obtener un reporte de la siguiente forma:
Código HTML:


[Gestor]  [Nombre Gestor] [No Gestiones Efectivas] [No Gestiones Totales]

Toda esta info en un rango de fechas equis.
lo que tengo hasta el momento es lo siguiente, pero realmente no es como lo quiero, si alguien me puede ayudar a ordenarlo y obtener la info que necesito, se lo agradecere mucho.


Código:

declare @fecha_inicio datetime
declare @fecha_fin datetime

set @fecha_inicio='01/05/2008 00:00:00'
set @fecha_fin='31/05/2008 23:59:59'

select a.gestor_id,
b.gestor_nombre,
c.resultado_nombre,
count(a.resultado_id) as total_gestiones
FROM gestiones a
INNER JOIN gestores b ON (a.agencia_id=b.agencia_id
and a.gestor_id=b.gestor_id)
INNER JOIN resultados_gestiones c
ON (a.resultado_id=c.resultado_id AND c.nivel_efectividad_id=1)
WHERE
convert(datetime,a.gestion_fecha,103)
BETWEEN convert(datetime,@fecha_inicio,103)
AND convert(datetime,@fecha_fin,103)

GROUP BY a.gestor_id,b.gestor_nombre,a.resultado_id,c.resultado_nombre
order by a.gestor_id asc

Pero esto me da una fila por gestor y Resultado y no es lo que quiero, yo quiero una fila x gestor con un total de resultados efectivos.... espero me halla explicado bien y que me puedan ayudar.
Muy agradecido

xcars 23/05/2008 15:51

Respuesta: Selects, Joins Having y calculos...
 
creo que a veces leer lo que uno escribe ayuda mucho, bueno, lo resolvi con el siguiente codigo por si alguien pasa por aki

Código:

declare @fecha_inicio datetime
declare @fecha_fin datetime

set @fecha_inicio='01/05/2008 00:00:00'
set @fecha_fin='31/05/2008 23:59:59'

select a.gestor_id,
b.gestor_nombre,
d.nivel_efectividad_nombre,
count(*) as total_gestiones
FROM gestiones a
INNER JOIN gestores b ON (a.agencia_id=b.agencia_id
and a.gestor_id=b.gestor_id)
INNER JOIN resultados_gestiones c
ON (a.resultado_id=c.resultado_id AND c.nivel_efectividad_id=1)
INNER JOIN niveles_de_efectividad d
ON (c.nivel_efectividad_id=d.nivel_efectividad_id)
WHERE
convert(datetime,a.gestion_fecha,103)
BETWEEN convert(datetime,@fecha_inicio,103)
AND convert(datetime,@fecha_fin,103)

GROUP BY a.gestor_id,b.gestor_nombre,c.nivel_efectividad_id,
d.nivel_efectividad_nombre
order by a.gestor_id asc

ahora bien, no es lo que queria pero ya es un buen adelanto, lo que me falta ahi, es el total de gestiones hechas por el gestor y luego dividir las efectivas entre el total para obtener un porcentaje... aki si ya me bloquee.... a ver si alguien me ayuda por favor


La zona horaria es GMT -6. Ahora son las 00:13.

Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.