Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Usar Con varias condiciones

Estas en el tema de Usar Con varias condiciones en el foro de Mysql en Foros del Web. Hola a todos como están no se si alguno por aqui ha tenido un caso similar me han solicitado un reporte de la siguiente manera ...
  #1 (permalink)  
Antiguo 06/01/2016, 10:06
 
Fecha de Ingreso: abril-2015
Mensajes: 304
Antigüedad: 9 años
Puntos: 2
Usar Con varias condiciones

Hola a todos como están no se si alguno por aqui ha tenido un caso similar me han solicitado un reporte de la siguiente manera
Código Excel:
Ver original
  1. Responsable Comercial  |  Aceptadas | Cierre  |  Seguimiento
  2. Luis Angeles         |          6   |   3        |      4
  3. Andrea Luna           |         2   |   4        |      2
Las cabeceras en este caso serian Reponsable Comercial, Aceptadas, Cierre, Seguimiento Bien para esto he realizado una consulta así
Código MySQL:
Ver original
  1. SELECT COUNT(seg_estatus_id) FROM `seg_comercial` WHERE jc_usuario_id = 3 AND seg_estatus_id = 3  UNION SELECT COUNT(seg_estatus_id) FROM `seg_comercial` WHERE jc_usuario_id = 3 AND seg_estatus_id = 1 UNION SELECT COUNT(seg_estatus_id) FROM `seg_comercial` WHERE jc_usuario_id = 3 AND seg_estatus_id = 7
La consulta me devuelve algo asi
Código MySQL:
Ver original
  1. COUNT(seg_estatus_id)
  2. 2
  3. 3
  4. 0
como ven lo que hace es contar los registros del campo seg_estatus_id pero también lo que quiero es traer el ID del usuario para poder mostrarlo como indique inicialmente y como se puede visualizar mi consulta es muy larga y si quisiera traer el ID tendria que agregar el campo en cada select tal vez exite otra manera que yo no conosco por favor su ayuda Gracias
  #2 (permalink)  
Antiguo 06/01/2016, 10:22
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 8 meses
Puntos: 774
Respuesta: Usar Con varias condiciones

Pues no hay de otra mas que agregarlo en cada select, o que esperabas que magicamente mysql supiera que quieres un campo mas y lo ponga en la consulta?(consulta larga? es una consulta simple de 3 selects, no es una consulta larga)
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #3 (permalink)  
Antiguo 06/01/2016, 10:27
 
Fecha de Ingreso: abril-2015
Mensajes: 304
Antigüedad: 9 años
Puntos: 2
Respuesta: Usar Con varias condiciones

Cita:
Iniciado por Libras Ver Mensaje
Pues no hay de otra mas que agregarlo en cada select, o que esperabas que magicamente mysql supiera que quieres un campo mas y lo ponga en la consulta?(consulta larga? es una consulta simple de 3 selects, no es una consulta larga)
Yo se que no se genera mágicamente mi consulta iba que tal vez se puede hacer mas optima esta consulta y menos larga y reducir un poco mas el codigo
  #4 (permalink)  
Antiguo 06/01/2016, 10:39
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 8 meses
Puntos: 774
Respuesta: Usar Con varias condiciones

Pues podrias hacer algo como esto:

Código MySQL:
Ver original
  1. select id_usuario, sum(aceptadas) as aceptadas, sum(cierre) as cierre, sum(seguimiento) as seguimiento from(
  2. case when seg_estatus_id=3 then count(1) as Aceptadas,
  3. case when seg_estatus_id=1 then count(1) as cierre,
  4. case when seg_estatus_id=37 then count(1) as seguimiento,
  5. id_usuario
  6. FROM `seg_comercial` WHERE jc_usuario_id = 3
  7. ) as completa group by id_usuario
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me

Etiquetas: campo, condiciones, registros, select, usar
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:22.