Principales respuestas
Resultado de Consulta

Pregunta
-
Necesito los resultados de esta dos consultas se muestre en columnas distintas. Ver Ejemplo en la foto
SELECT COUNT(ticket) AS PENDIENTES FROM tblTicket WHERE idEstado = 'PEN' SELECT COUNT(ticket) AS RESUELTOS FROM tblTicket WHERE idEstado = 'RES'
Respuestas
-
Usa una unica consulta y expresiones CASE para regar los valores.
select
sum(case when idEstado = 'PEN' then 1 else 0 end) as PENDIENTES,
sum(case when idEstado = 'RES' then 1 else 0 end) as RESUELTOS
from
tblTicket;Con este metodo solo necesitas recorrer la tabla solo una vez, a diferencia de usar:
select
(query 1) as PENDIENTES,
(query 2) as RESUELTOS;Si filtras y haces una agrupacion por [idEstado] entonces tendras que pivotear o transformar de filas a columnas.
SELECT P.PEN AS PENDIENTES, P.RES AS RESUELTOS FROM ( SELECT idEstado, COUNT(*) AS cnt FROM tblTicket WHERE idEstado IN ('PEN', 'RES') GROUP BY idEstado ) AS T PIVOT ( SUM(cnt) FOR idEstado IN ('PEN', 'RES') ) AS P ; go
AMB
Some guidelines for posting questions...
AYÚDANOS A AYUDARTE, guía básica de consejos para formular preguntas
- Propuesto como respuesta Joyce_ACModerator miércoles, 29 de marzo de 2017 15:54
- Editado HunchbackMVP miércoles, 29 de marzo de 2017 16:00
- Marcado como respuesta Joyce_ACModerator miércoles, 5 de abril de 2017 14:33
-
Hola que tal Claudio Marin, lo puedes hacer como te lo comenta Hunchback o la siguiente consulta:
Select
(select count(ticket) from tblTicket where idEstado='PEN') as Pendientes,
(select count(ticket) from tblTicket where idEstado='RES') as ResueltoSaludos,
Jorge Muchaypiña G.
Business Intelligence Analyst
- Marcado como respuesta Claudio Marin viernes, 28 de julio de 2017 17:10
Todas las respuestas
-
Usa una unica consulta y expresiones CASE para regar los valores.
select
sum(case when idEstado = 'PEN' then 1 else 0 end) as PENDIENTES,
sum(case when idEstado = 'RES' then 1 else 0 end) as RESUELTOS
from
tblTicket;Con este metodo solo necesitas recorrer la tabla solo una vez, a diferencia de usar:
select
(query 1) as PENDIENTES,
(query 2) as RESUELTOS;Si filtras y haces una agrupacion por [idEstado] entonces tendras que pivotear o transformar de filas a columnas.
SELECT P.PEN AS PENDIENTES, P.RES AS RESUELTOS FROM ( SELECT idEstado, COUNT(*) AS cnt FROM tblTicket WHERE idEstado IN ('PEN', 'RES') GROUP BY idEstado ) AS T PIVOT ( SUM(cnt) FOR idEstado IN ('PEN', 'RES') ) AS P ; go
AMB
Some guidelines for posting questions...
AYÚDANOS A AYUDARTE, guía básica de consejos para formular preguntas
- Propuesto como respuesta Joyce_ACModerator miércoles, 29 de marzo de 2017 15:54
- Editado HunchbackMVP miércoles, 29 de marzo de 2017 16:00
- Marcado como respuesta Joyce_ACModerator miércoles, 5 de abril de 2017 14:33
-
-
Hola que tal Claudio Marin, lo puedes hacer como te lo comenta Hunchback o la siguiente consulta:
Select
(select count(ticket) from tblTicket where idEstado='PEN') as Pendientes,
(select count(ticket) from tblTicket where idEstado='RES') as ResueltoSaludos,
Jorge Muchaypiña G.
Business Intelligence Analyst
- Marcado como respuesta Claudio Marin viernes, 28 de julio de 2017 17:10