gambafeliz   23-04-2021, 11:51
#1
Hola

Necesito filtrar datos pero por alguna razón no me funciona el Where, por favor, ¿me ayuda?

Es sobre una base de datos SQLite3, os lo describo:

Esta es la consulta sin Where:
sqlite> Select grupo, subgrupo, sum(Importe) as Importe from vgrupo Group by grupo, subgrupo;
Casa|Comunidad|0.0
Coche|Combustible|4.8

Pretendo quitar el Importe con 0.0 y hago esto:
sqlite> Select grupo, subgrupo, sum(Importe) as Importe from vgrupo Where Importe<>0 Group by grupo, subgrupo;
También he probado:
sqlite> Select grupo, subgrupo, sum(Importe) as Importe from vgrupo Where Importe<>0.0 Group by grupo, subgrupo;
Y esto otro:
sqlite> Select grupo, subgrupo, sum(Importe) as Importe from vgrupo Where Importe>0 or Importe<0 Group by grupo, subgrupo;

Pero ninguno me funciona, ninguno me quita la fila con 0.0

Alguien me da alguna pista, gracias.

=============Solución=========================================
En el texto no he dicho que se trataba de un view y como soy novato con las views he visto que solo tenia que hacer una nueva view y esta última es la que debe ser filtrada con el where y así resuelvo el problema.
Última modificación: 23-04-2021, 12:52 por gambafeliz.
calcena   01-05-2021, 11:27
#2
Buenas, al margen de que ya lo tengas ya solucionado, comentarte que puedes utilizar, si quieres resolverlo en la query directamente, la inclusión de la cláusula (Having Precio > 0) que la puedes incluir después de un where y viene a condicionar el resultado y te eliminaría en el resultset ese dato que tiene el importe 0.0
Saludos.
gambafeliz   02-05-2021, 09:29
#3
Agradecido calcena por tu ayuda. Pero tu propuesta no resuelve el problema quizás piensas que si pero no. Después de implementar tu propuesta aunque te sea raro no resuelve esa extraña fila con 0, y no me preguntes por que.

Yo lo que te puedo decir es que esta basada en una view y que esta basada en igualamiento de cuentas a 0, por ejemplo entrada 1000 y salida -1000 = 0 pero como es float pues su filtrada requiere que sea 0.0 en fin yo lo que hago es una vista para obtener los datos y otra vista para agruparlos y después un select de esta última vista para filtrar las filas con 0, y esto si funciona.

Gracias de verdad.
Shordi   02-05-2021, 11:37
#4
Sin disponer de la base de datos, no se puede dar una respuesta válida.

No podemos regresar
gambafeliz   02-05-2021, 20:15
#5
Gracias Shordi pero aunque no lo he resuelto directamente con un filtrado, lo he resuelto pasando los datos de un view a otro view y por último basandome en este último view hago un select que filtra por fin las filas con 0 y funciona. Gracias de verdad de la buena.
  
Usuarios navegando en este tema: 2 invitado(s)
Powered By MyBB, © 2002-2024 MyBB Group.
Made with by Curves UI.