SQL - Contar en un Campo Horizontal

 
Vista:

Contar en un Campo Horizontal

Publicado por Marlene (1 intervención) el 29/01/2010 00:00:53
Que tal, tengo una duda, a ver si me pueden ayudar, estoy haciendo una consulta para un reporte, en base a una tabla con un campo Estatus, el cual puede tomar los valores Captado y No Captado, pongo a continuación un ejemplo resumido

Tabla ejemplo:

Create Table Table1(
Municipio nvarchar(50),
Estatus nvarchar(50)
)

Lo que tengo es lo siguiente:

Select @Captado = Count (Estatus) From Tabla1 Where Estatus = ‘Captado’
Select @NoCaptado = Count (Estatus) From Tabla1 Where Estatus = ‘No Captado’

Para después mostrar mi reporte

Select Municipio, @Captado as Captado, @NoCaptado as No_Captado From Table1 Where Municipio = ‘Hermosillo’

Quedando lo siguiente

Municipio Captado No_Captado

Hermosillo 53 107

Mi pregunta y duda es la siguiente: Hay alguna manera de realizar esta cuenta de captados y no captados sin necesidad de hacer dos “Select Count()”, o alguna forma mas optima ya que en mi ejemplo real tengo mas de 15 estatus y hacer 15 “Select Count()” vuelve algo lento mi reporte.

Espero que me puedan ayudar.
Saludos.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Contar en un Campo Horizontal

Publicado por luishoracio (33 intervenciones) el 29/01/2010 17:40:08
Buenos días,

Revisa esta consulta a ver si te funciona

select A.Municipio ,A.veces,B.veces from
(select Municipio ,count(estatus) as veces from Table1
where estatus='Captado' and Municipio ='Hermosillo' group by Municipio ,estatus)A
inner join
(select Municipio ,count(estatus) as veces from Table1
where estatus='No Captado' and Municipio ='Hermosillo' group by Municipio ,estatus) B
on A.Municipio =B.Municipio

Saludos!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Contar en un Campo Horizontal

Publicado por Marlene (1 intervención) el 30/01/2010 01:46:48
Muchas Gracias luishoracio, aprendí algo nuevo con tu respuesta, con tu query se resuelve mi problema de realizar los Count con otras dos consultas desde fuera de mi query principal, aunque supongo que en rendimiento y velocidad no podré optimizar mas la consulta ya que al parecer tengo que hacer las cuentas para cada estatus a fuerza.

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Contar en un Campo Horizontal

Publicado por luishoracio (33 intervenciones) el 03/02/2010 20:57:39
Buenas tardes,

Si para la consulta necesuitas revisar más de 2 opciones la cambiarias por un CASE, si quieres miramos eso por e-mail.

Saludos!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar