Retroceder   Foros del Web > Programación para sitios web > Bases de Datos > SQL Server

Respuesta
 
Herramientas Desplegado
Antiguo 23-may-2008, 15:45   #1 (permalink)
xcars sólo puede mejorar
 
Avatar de xcars
 
Fecha de Ingreso: mayo-2005
Mensajes: 519
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
__________________
QUE NADIE ME HABLE QUE NO SEA SUBVERSIVO
xcars está desconectado   Responder Citando
Antiguo 23-may-2008, 15:51   #2 (permalink)
xcars sólo puede mejorar
 
Avatar de xcars
 
Fecha de Ingreso: mayo-2005
Mensajes: 519
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
__________________
QUE NADIE ME HABLE QUE NO SEA SUBVERSIVO
xcars está desconectado   Responder Citando
Respuesta
No hay votos aún.


Herramientas
Desplegado

Normas de Publicación
No puedes crear nuevos temas
No puedes responder temas
No puedes subir archivos adjuntos
No puedes editar tus mensajes

BB code is Activado
Caritas están Activado
[IMG] está Activado
Código HTML está Desactivado


La Zona horaria es GMT -6. Ahora son las 04:49.


Message Board Statistics

LinkBacks Enabled by vBSEO 3.1.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93