SoloCodigo
Bases de Datos => SQL Server => Mensaje iniciado por: jose# en Miércoles 10 de Febrero de 2010, 02:40
-
Les comento que realizo un sistema para estadisticas (la consulta consiste en mostrar todos los diagnosticos de cada consulta externa[COD_CIE] una columna que muestre la cantidad de consultas_extenas, otra con el numero de Sexo masculino, numero de Sexo femenino, y los intervalos de edades) por cada Diagnostico.
Logre establecer la estructura pero las cantidades no (Count) los diagnosticos deben ser distintos.
SELECT
[COD CIE] = ROW1,
[MASC] = CASE WHEN ROW2 = 'Masculino' THEN ROW2
ELSE '0' END,
[FEME] = CASE WHEN ROW2 = 'femenino' THEN ROW2
ELSE '0' END,
[< A 1] = CASE WHEN ROW3 <= 1 AND ROW3 > 0 THEN ROW3
ELSE 0 END,
[1 A 4] = CASE WHEN ROW3 >= 1 AND ROW3 <= 4 THEN ROW3
ELSE 0 END,
[5 A 14] = CASE WHEN ROW3 >= 5 AND ROW3 <= 14 THEN ROW3
ELSE 0 END,
[15 A 21] = CASE WHEN ROW3 >= 15 AND ROW3 <= 21 THEN ROW3
ELSE 0 END,
[22 A 44] = CASE WHEN ROW3 >= 22 AND ROW3 <= 44 THEN ROW3
ELSE 0 END,
[45 A 64] = CASE WHEN ROW3 >= 45 AND ROW3 <= 64 THEN ROW3
ELSE 0 END,
[65 A ..] = CASE WHEN ROW3 >= 65 AND ROW3 <= 140 THEN ROW3
ELSE 0 END
FROM
(
SELECT
[ROW1] = CIE,
[ROW2] = SEXO,
[ROW3] = EDAD
FROM CONSULTA_EXTERNA
GROUP BY CIE, SEXO, EDAD
)F
COD_CIE/ MASCU/FEME/[< A 1/[1 A 4]
A00 0 Femenino 0 0 5 0 0 0 0
A00 0 Femenino 0 0 0 0 0 0 110
A00 Masculino 0 0 0 0 0 0 0 0
A00 Masculino 0 0 0 0 16 0 0 0
A00 Masculino 0 0 0 0 0 26 0 0
A00 Masculino 0 0 0 0 0 0 50 0
A00 Masculino 0 0 0 0 0 0 0 66
A00 Masculino 0 0 0 0 0 0 0 110
A02.0 Masculino 0 0 0 0 0 0 0 110
me genera lo anterior pero se duplican los COD_CIE y no me da el numero de mas, feme .. por diagnostico
Cualquier sugerencia me seria de mucha ayuda de antemano muchas gracias
-
Investigue un poco mas e intente este codigo
select cie,desc_cie,edad,sexo
from consulta_externa
)tabla
pivot
(
Count(edad)
for [sexo] in ([Masculino],[Femenino])
)pivote
D00 Carcinoma in situ de la cavidad bucal, del esófago y del estómago 1 1
A00 Cólera 7 2
A02.0 Enteritis debida a Salmonella 1 0
Esto es lo que necesito pero que se adicionen la cantidad de por intervalos de Edad por ejemplo
CIE | Desc | Masc | Fem | <1 | 1-4 | 5-14 | 15-21 | 22-44 | 45-64 | 65 -|
A00 | Cólera| 7 |2 | 0 | 3 | 2 | 2 | 1 | 1 | 0 |
por favor se me podrian sugerir una clausula o un ejemplo que me pueda servir
Muchas gracias..
-
Busque en el foro 'Count'
y encontre este codigo que es lo que necesito:
SELECT A.id, A.Descripcion, nHijos = (SELECT COUNT(1) FROM Tabla B
WHERE A.id = B.Padre) FROM Tabla A
Ojala les sirva a los demas como a mi.
Gracias hasta luego..