Si vas a sacar los que tienen 0 y 1 y mostrarlos no se donde dice que esta la ineficiencia de la consulta, digo a mi parecer esta bien con el case y el when a menos que solo quieras sacar los valores de 1 o de 0 en consultas separadas :P, podrias poner un pequeño ejemplo de tus datos para ver donde no te esta respetando la condicion en el where???
y prueba con esto:
Código SQL:
Ver originalSELECT
COUNT(*)
FROM exp_ti_bitacora_proyectores
WHERE revision_proyectores = 0
Ahi te tendria que regresar el total de registros con 0
mira este ejemplo:
Código SQL:
Ver originalCREATE TABLE #temp
(
nombre VARCHAR(20),
valor INT
)
INSERT INTO #temp VALUES ('Libras',1)
INSERT INTO #temp VALUES ('Libras1',0)
INSERT INTO #temp VALUES ('Libras1',0)
INSERT INTO #temp VALUES ('Libras2',1)
INSERT INTO #temp VALUES ('Libras2',1)
INSERT INTO #temp VALUES ('Libras1',0)
INSERT INTO #temp VALUES ('Libras1',1)
INSERT INTO #temp VALUES ('Libras3',0)
INSERT INTO #temp VALUES ('Libras3',0)
INSERT INTO #temp VALUES ('Libras3',1)
SELECT COUNT(nombre) AS conteo, nombre FROM #temp WHERE valor=0 GROUP BY nombre
El resultado:
conteo nombre
3 Libras1
2 Libras3
Estas usando fechas en el where, estas seguro que en esas fechas hay valores con 0????