26/05/2010, 08:32
|
| | Fecha de Ingreso: agosto-2005 Ubicación: Mérida, Venezuela
Mensajes: 732
Antigüedad: 19 años, 2 meses Puntos: 7 | |
Calculo de fórmula con 2 campos de 2 tablas Saludos
Tengo una tabla de registro de nacimientos por año y por código político, más o menos así:
nacimientos (region varchar(2), estado varchar(2), agno varchar(4), numero_nacimientos smallint)
Y otra con la población por año y por código político, más o menos así:
poblacion ((region varchar(2), estado varchar(2), agno varchar(4), mujeres smallint), edad smallint)
Lo que las "une" es el código político y el año de la información.
Estoy tratando de sacar una consulta que me devuelva la tasa de fecundidad cuya fórmula es:
fecundidad = ((nacimientos / población femenina en edad entre 12 y 49 años) * 1000)
A patica, saco de una tabla los nacimientos:
mi_bd=# SELECT sum(numero_nacimientos) , estado FROM salud.nacimientos WHERE region = '06' AND agno = '2003' GROUP BY estado ORDER BY estado;
sum | estado
-------+---------
33148 | 14
12455 | 21
(2 filas)
mi_bd=# SELECT sum(mujeres) , estado FROM demografia.poblacion WHERE edad >= 12 AND edad <= 49 AND region = '06' AND agno = '2003' GROUP BY estado ORDER BY estado;
sum | estado
--------+---------
227326 | 14
145302 | 20
165668 | 21
(3 filas)
Pero quiero hacerla en una sola consulta para sacarle provecho a la BD, intenté con algo simple como:
SELECT est_001, sum(dem01_006) as mujeres, sum(sal11_004) as nacimientos
mi_bd-# FROM demografia.poblacion
mi_bd-# JOIN salud.nacimientos USING (region, estado)
mi_bd-# WHERE region = '06' AND demografia.agno = '2003' AND poblacion.agno = '2003' AND (edad >= 12 AND edad <= 49)
mi_bdr-# GROUP BY estado;
estado | mujeres | nacimientos
-------------+-----------------+----------
21 | 3313360 | 9515620
14 | 24778534 | 28971352
(2 filas)
donde se observa que la consulta está recontra mala, jajaja
Luz?
__________________ Gracias de todas todas
-----
Linux! |