Ayuda con una agrupación de datos

08/09/2004 - 17:45 por Georgettec | Informe spam
Saludos a todos:

Soy nuevo en esto y estoy fabricando una consulta en sql
en la que estoy utilizando un case:

SELECT c00CaseId, c00GrpIntNm,

CASE
WHEN AAD.c00GrpIntNm = 'UTLPFLA05' THEN 'ACTIVO'
WHEN AAD.c00GrpIntNm = 'UTLPFLA01' THEN 'ACTIVO'
WHEN AAD.c00GrpIntNm = 'UTLPFLA03' THEN 'ACTIVO'
ELSE 'INACTIVO'
END AS 'STATUS'

FROM dbo.HpTAdherenceAgentDetails AAD

ahora lo que necesito hacer en esta consulta es agrupar
los datos de acuerdo al stauts, es decir activo o inactivo
¿como puedo hacer esto??

Gracias

Preguntas similare

Leer las respuestas

#1 ISAÍAS
08/09/2004 - 18:00 | Informe spam
SELECT c00CaseId, c00GrpIntNm,
SUM(CASE
WHEN AAD.c00GrpIntNm = 'UTLPFLA05' THEN 1 ELSE 0 END)
AS '05'
SUM(CASE
WHEN AAD.c00GrpIntNm = 'UTLPFLA01' THEN 1 ELSE 0 END)
AS '01'
SUM(CASE
WHEN AAD.c00GrpIntNm = 'UTLPFLA03' THEN 1 ELSE 0 END)
AS '03'
FROM dbo.HpTAdherenceAgentDetails AAD
GROUP BY c00CaseId, c00GrpIntNm
Respuesta Responder a este mensaje
#2 Georgettec
08/09/2004 - 18:17 | Informe spam
SELECT c00CaseId, c00GrpIntNm,
SUM(CASE
WHEN AAD.c00GrpIntNm = 'UTLPFLA05' THEN 1 ELSE 0 END)
AS '05'
SUM(CASE
WHEN AAD.c00GrpIntNm = 'UTLPFLA01' THEN 1 ELSE 0 END)
AS '01'
SUM(CASE
WHEN AAD.c00GrpIntNm = 'UTLPFLA03' THEN 1 ELSE 0 END)
AS '03'
FROM dbo.HpTAdherenceAgentDetails AAD
GROUP BY c00CaseId, c00GrpIntNm







Muchas Gracias, pero en realidad lo que yo necesitaría es
que el dato quedará agrupado más o menos de la siguiente
manera

Status Count
Activo 50
Inactivo 35

Los status Activo e inactivo son solo algunos de los
status ya que la posibilidad de status diferentes que
puedo es de aproximadamente 11.

Gracias!!!
Respuesta Responder a este mensaje
#3 Vero
08/09/2004 - 19:15 | Informe spam
Esta puede ser una Solución... quiza tenga algun error de sintaxis debido a
que aqui no puedo probar pero la idea es la siguiente ... ojala te sirva

SELECT status, COUNT(status)
(SELECT c00CaseId, c00GrpIntNm,
CASE
WHEN SUBSTRING(AAD.c00GrpIntNm,9,1) IN (5,1,3) THEN 'ACTIVO'
ELSE 'INACTIVO'
END
FROM dbo.HpTAdherenceAgentDetails AAD)
AS RESULTADO ( c00CaseId, c00GrpIntNm,status)
GROUP BY status

"Georgettec" wrote:

Saludos a todos:

Soy nuevo en esto y estoy fabricando una consulta en sql
en la que estoy utilizando un case:

SELECT c00CaseId, c00GrpIntNm,

CASE
WHEN AAD.c00GrpIntNm = 'UTLPFLA05' THEN 'ACTIVO'
WHEN AAD.c00GrpIntNm = 'UTLPFLA01' THEN 'ACTIVO'
WHEN AAD.c00GrpIntNm = 'UTLPFLA03' THEN 'ACTIVO'
ELSE 'INACTIVO'
END AS 'STATUS'

FROM dbo.HpTAdherenceAgentDetails AAD

ahora lo que necesito hacer en esta consulta es agrupar
los datos de acuerdo al stauts, es decir activo o inactivo
¿como puedo hacer esto??

Gracias



Respuesta Responder a este mensaje
#4 Isaías
08/09/2004 - 19:34 | Informe spam
Tal vez

SELECT c00CaseId, c00GrpIntNm,
SUM(CASE WHEN RIGHT(AAD.c00GrpIntNm,1) IN (1,3,5) THEN 1
END) AS 'ACTIVO',
SUM(CASE WHEN RIGHT(AAD.c00GrpIntNm,1) NOT IN (1,3,5) THEN
1 END) AS 'INACTIVO'
FROM dbo.HpTAdherenceAgentDetails AAD
GROUP BY c00CaseId, c00GrpIntNm
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida