Duda registros valor 0 sql
Buenas tardes.
Tengo un problemilla al hacer una consulta en sql server. Tengo una tabla con 4 columnas, C1, C2, C3 y C4 de las cuales algunas pueden tener valor 0. Lo que quiero es calcular el minimo de dos de ellas sin que tenga en cuenta el 0. Si pongo en la condicio C2 <> 0, no tiene en cuenta el registro entero, es decir tampoco tiene en cuenta el valor de C3 para calcular el minimo y yo quiero que lo cuente. P.ej. C1:nombre1, C2:0 C3:1 C1:nombre2, C2:10 C3:2 C1:nombre3, C2:2 C3:4 Quiero que me devuelva Minimo de C2:2 y Minimo de C3:1 Gracias por su ayuda |
Max,min
prueba con select min(c2) as MinimoC2,min(c3) as MinimoC3 from tutabla
where c2<>0 and c3 <> 0 |
Gracias por contestar.
Pero eso no me sirve, porque si uno de los dos es 0 me excluye el registro entero, tanto el valor de C2 como el de C3 y yo quiero que el que no sea 0 si lo tenga en cuenta. :( |
No me gusta mucho esta solución porque a fin de cuentas son dos consultas disfrazadas de una sola, pero mientras encuentras algo mejor:
En lugar de un registro con dos campos, obtendrás dos registros con un sólo campo, que será el mínimo correspondiente. Bye |
Gracias pero no me sirve, necesito los campos en el mismo registro.
|
No sé como se hace en sql server, ni si esto funcionará, pero en firebird se haría de la siguiente manera:
Un saúdo. |
No se se dara resultado, pero intenta asi:
SELECT ZERO_C2, TUDO_C2, FROM TBLC1 LEFT JOIN (SELECT KEY,C2 FROM TBLC2 WHERE C2 = 0)ZERO_C2 ON(MINC2.KEY = TBLC1.KEY) LEFT JOIN (SELECT KEY,MIN(C2) FROM TABELA WHERE C2 <> 0)TUDO_C2 ON(TUDO_C2.KEY = TBLC1.KEY) |
La franja horaria es GMT +2. Ahora son las 15:56:04. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi