Estoy tratando de realizar la siguiente consulta y no he podido, por eso
acudo a ustedes para que me colaboren.
Tabla : afbenefi
campos:
campos:
afbnumeid
afbsexo
afbfecnac
ipscodigo
muncodigo
depcodigo
la consulta es la siguiente:
Cuantos pacientes de cada sexo hay en cada sede (ipscodigo) clasificados en
rangos de sexo de la siguiente manera:
-
| IPSCODIGO | SEXO | 0-7 AÑOS | 8-14 AÑOS | 15-44 AÑOS | 45-59
AÑOS | MAYOR O IGUAL A 60 AÑOS |
-
| 996 | M | 5 | 1300
| 742 | 0 | 100
|
-
| 996 | F | 425 | 10
| 345 | 615 | 160
|
-
.
No tengo mucha experiencia en SQL pero se me ha ocurrido lo siguiente, como
no tenbgo las ededaes de los pacientes, primero hago el calculo de esta y
las almaceno en una tabla temporal seleccionandolo dependiendo del muncodigo
(001) y depcodigo (13) de la siguiente manera:
select ipscodigo as ips, afcsexo as sexo, afcfecnac as fechanac,
case
when month(afcfecnac) < month(getdate())
then
(year(getdate())-year(afcfecnac))
else
(year(getdate())-year(afcfecnac))-1
end as edad --Calcylo la edad teniendo en cuenta el mes en que
estamos, omito el dia, asumiendo este %de error
into #cotizantes --lleno la tabla temporal con las edades calculadas
from afcotiza
where muncodigo='001' and depcodigo='13'
para
select ips, sexo, count(sexo) as cantidad
from #cotizantes where edad between 15 and 44
group by sexo, ips
order by sexo
temporal ya que esta informacion
drop table #cotizantes
Espero que me puedan ayudar, he tratado de ser lo mas expolicativo..
Gracias de antemano por su colaboarcion.
Ing. Bernardo Cordoba
Cartagena, Colombia
Leer las respuestas