Ok... Revisando los dos posts de este hilo, me parece que lo que te está sucediendo es que no tienes una completa comprensión de cómo funciona el SQL, y lo que hace el WHERE en especial...
Lo que quieres resolver es esto:
Cita: tengo una tabla en la que los campos tienen valores y los que no tiene valores tiene cero(0), yo lo que necesito es seleccionar todos los registros ,que, en cuyos campos no haya cero
Ahora bien, el ejemplo de datos que nos das es este:
Cita: nr=3194
single=235
iva=si
doble=0
triple=0
cuadr=458
dpto2p=0
dpto3p=555
Y quieres que en base a eso, puedas obtener esto:
Cita: nr =3194
single=235
iva=si
cuadr=458
dpto3p=555
Bueno, eso que dices querer como resultado en una query que apunta una única tabla con múltiples campos, es absolutamente imposible a nivel SQL y sólo lo puedes hacer programáticamente, por las siguientes razones:
1) Un SELECT devuelve siempre la cantidad de campos que indica a continuación, sean estos TODOS los de la(s) tabla(s) del FROM, o solo los que se indiquen, como se indiquen. NO PUEDE devolver una cantidad menor a la definida, ni descarta dinámicamente ninguno de ellos.
2) El WHERE evalúa
cada uno de los registros como una
unidad lógica. Esto significa que deben cumplirse TODAS las condiciones para que el registro sea devuelto en la consulta. Como es una sola unidad lógica, si al menos UNO de los campos no cumple la condición,
se descarta el registro entero.
Interpretando los datos de tu ejemplo en base a esto, el problema es que ese registro con NR = 3194 tiene los campos "doble" y "triple" en cero y por consecuencia NUNCA devolverá ese registro.
¿Se entiende el problema?
Ahora, esto tendría una solución, pero no es una solución por una query simple, y hay dos formas de resolverlo.
Una, las habitaciones que aparecen en esa tabla deberían estar en otra tabla, la cual tendría un registro por cada una de ellas. Esa tabla requiere ademas otra tabla adicional de tipos de habitaciones... es otro diseño.
Otra forma es hacer una query multiple con UNION ALL, donde cada SELECT consulte por UNA de las habitaciones. El problema es que una consulta así es de difícil mantenimiento y lectura. No es muy aconsejable.
TODO el resto de la solución es programática, no de SQL.