Ver Mensaje Individual
  #1 (permalink)  
Antiguo 08/03/2016, 10:20
Aguirre2422
 
Fecha de Ingreso: marzo-2016
Ubicación: En algun lugar de Mexico
Mensajes: 6
Antigüedad: 8 años, 1 mes
Puntos: 0
Select count para registros en cero

HOLA! TENGO UNA DUDA QUE ME A DADO MUCHO DOLORES DE CABEZA!

TENGO UNA TABLA QUE SE LLAMA exp_ti_bitacora_proyectores DONDE ALMACENO BIENES POR MEDIO DE UNA cve_bien Y ALMACENO UN CAMPO LLAMADO revision_proyectores DONDE EL VALOR 0 SIGNIFICA ATENCIÓN Y EL 1 SIGNIFICA REVISIÓN, NECESITO HACER UNA CONSULTA DONDE ME CUENTE EL NUMERO DE ATENCIONES Y REVISIONES QUE A TENIDO CADA BIEN ENTRE UN RANGO DE FECHAS, INCLUSO AQUELLAS QUE ESTEN EN CERO, ES DECIR QUE SI EL BIEN '100' TIENE SOLO UN REGISTRO EN revision_proyectores CON VALOR 1, ME DEVUELVA LO SIGUIENTE:

CVE_BIEN ATENCIONES REVISIONES
100 0 1

ESTO LO HE LOGRADO CON LA SIGUIENTE CONSULTA:

Código SQL:
Ver original
  1. SELECT cve_bien,
  2. COUNT(CASE WHEN revision_proyectores = 0 THEN 1 END) AS ATENCIONES_CUANTOS_CEROS,
  3. COUNT(CASE WHEN revision_proyectores = 1 THEN 1 END) AS REVISIONES_CUANTOS_UNOS,
  4. COUNT(cve_bien) AS TOTALES
  5. FROM exp_ti_bitacora_proyectores
  6. WHERE (fecha_trabajo BETWEEN CONVERT(DATETIME,'01/02/2016', 102)
  7. AND CONVERT(DATETIME,'07/03/2016', 102))
  8. GROUP BY cve_bien

PERO QUIERO UNA DONDE NO UTILICE EL CASE WHEN.... HE HECHO LA SIGUIENTE PERO NO ME DEVUELVE LO MISMO.... ALGUIEN PODRIA DECIRME QUE ME FALTA PARA LOGRARLO? ESQ ME OMITE LOS CEROS

Código SQL:
Ver original
  1. SELECT cve_bien,
  2. COUNT(cve_bien) AS ATENCIONES
  3. FROM exp_ti_bitacora_proyectores
  4. WHERE (fecha_trabajo BETWEEN CONVERT(DATETIME,'01/02/2016', 102)
  5. AND CONVERT(DATETIME,'07/03/2016', 102)) AND revision_proyectores = 0
  6. GROUP BY cve_bien

Última edición por gnzsoloyo; 08/03/2016 a las 10:43