Tengo un inconveneinte con una consulta pues es demasiado lenta y quisiera
optimizarla.
Tengo 3 Tablas en 2 bases de datos
dbase 1 --> dbcitas15
Tabla 1 --> cicita2005 //Citas asiganadas (cciestado=3: cumplida)
(gpscodpro= IDentificacion Medico) (gescodigo= ID Especialidad)
//Primari Key= ccinumcit
Tabla 2 --> cieatenci // Rips Digitados
//Primari Key= ccinumcit
dbase 2 --> dbgenerales
Tabla 1 --> geprosal //Profesioanles de la salud (gpscodproIDentificacion Medico, datos completos)
Tabla 2 --> geespecial //Especialidades medicas (gescodigo= ID
Especialidad, datos completos)
En la tabla CIEATENCI se guardan los registros que se les hace RIPS de los
registros de la tabla CICITA2005
Se necesita generara un inform de la cantidad de RIPS digitados agrupados
por medico y especialidad de todos los meses (1-12)
Para esto yo genero la siguiente consulta:
select
rtrim(P.gpsapepro)+' '+substring(rtrim(P.gpsnompro),1,7) as Profesional,
E.gesnombre,
SUM(case when datepart(month,C.ccifeccit)=1 then 1 else 0 end) as Ene,
SUM(case when datepart(month,C.ccifeccit)=2 then 1 else 0 end) as Feb,
SUM(case when datepart(month,C.ccifeccit)=3 then 1 else 0 end) as Mar,
SUM(case when datepart(month,C.ccifeccit)=4 then 1 else 0 end) as Abr,
SUM(case when datepart(month,C.ccifeccit)=5 then 1 else 0 end) as May,
SUM(case when datepart(month,C.ccifeccit)=6 then 1 else 0 end) as jun,
SUM(case when datepart(month,C.ccifeccit)=7 then 1 else 0 end) as Jul,
SUM(case when datepart(month,C.ccifeccit)=8 then 1 else 0 end) as Ago,
SUM(case when datepart(month,C.ccifeccit)=9 then 1 else 0 end) as Sep,
SUM(case when datepart(month,C.ccifeccit) then 1 else 0 end) as Oct,
SUM(case when datepart(month,C.ccifeccit) then 1 else 0 end) as Nov,
SUM(case when datepart(month,C.ccifeccit) then 1 else 0 end) as Dic,
SUM(case when datepart(month,C.ccifeccit) between 1 and 12 then 1 else 0
end) as TotalC
from
dbcitas17..cicita2005 C inner join dbcitas17..cieatenci R
on R.ccinumcit=C.ccinumcit and C.cciestado=3 join dbgenerales..geprosal
as P
on C.gpscodpro=P.gpscodpro join dbgenerales..geespecial as E
on C.gescodigo=E.gescodigo
group by
P.gpsnompro, P.gpsapepro, E.gesnombre
order by
P.gpsapepro, P.gpsnompro
En espera de sus comentraios
Bernardo
Leer las respuestas