• Jueves 2 de Mayo de 2024, 05:45

Autor Tema:  Count en una consulta select  (Leído 1797 veces)

jose#

  • Miembro activo
  • **
  • Mensajes: 49
    • Ver Perfil
Count en una consulta select
« en: Miércoles 10 de Febrero de 2010, 02:40 »
0
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.

Citar
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

jose#

  • Miembro activo
  • **
  • Mensajes: 49
    • Ver Perfil
Re: Count en una consulta select
« Respuesta #1 en: Miércoles 10 de Febrero de 2010, 23:57 »
0
Investigue un poco mas e intente este codigo

Citar
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..

jose#

  • Miembro activo
  • **
  • Mensajes: 49
    • Ver Perfil
Re: Count en una consulta select
« Respuesta #2 en: Jueves 11 de Febrero de 2010, 16:17 »
0
Busque en el foro 'Count'

y encontre este codigo que es lo que necesito:

Citar
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..