Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

[SOLUCIONADO] problema con sentencia sql

Estas en el tema de problema con sentencia sql en el foro de Bases de Datos General en Foros del Web. Espero que me puedan ayudar y espero darme a entender Lo que pasa es que yo tengo esta setencia SQL que saca un inventario final ...
  #1 (permalink)  
Antiguo 21/08/2016, 13:32
 
Fecha de Ingreso: diciembre-2015
Mensajes: 21
Antigüedad: 8 años, 4 meses
Puntos: 0
Pregunta problema con sentencia sql

Espero que me puedan ayudar y espero darme a entender

Lo que pasa es que yo tengo esta setencia SQL que saca un inventario final de unos productos (entradas del producto- salidas del mismo producto) en eso no tengo problema, esta es mi sentencia sql:

Código SQL:
Ver original
  1. SELECT s.producto,s.entrada AS entrada,r.salida AS salida,r.mes,r.anio AS anio,s.entrada-r.salida AS total
  2. FROM (SELECT MONTH ( fecha ) AS mes,YEAR(fecha) AS anio, producto,SUM(cantidad) AS entrada FROM eProductoTerminado
  3. WHERE ingresosalida='Ingreso' AND fecha BETWEEN '$desde' AND '$hasta' GROUP BY producto,anio,mes ORDER BY anio,producto) AS s
  4. INNER JOIN (SELECT MONTH ( fecha ) AS mes,YEAR(fecha) AS anio,producto,SUM(cantidad) AS salida FROM eProductoTerminado
  5. WHERE ingresosalida='Salida' AND fecha BETWEEN '$desde' AND '$hasta' GROUP BY producto,anio,mes ORDER BY anio,producto) AS r
  6. ON s.producto=r.producto AND s.mes=r.mes AND s.anio=r.anio
el problema de esta sentencia SQL que hice fue que solo me arroja los resultados que cumpla con los siguientes resultados, osea que ese producto tenga entradas y salidas, pero no los resultados que tuvieron entradas pero 0 salidas... no se si me di a entender, espero que me puedan ayudar enserio... se los agradecería demasiado

Última edición por gnzsoloyo; 21/08/2016 a las 16:00
  #2 (permalink)  
Antiguo 22/08/2016, 08:15
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 16 años, 9 meses
Puntos: 180
Respuesta: problema con sentencia sql

Saca todos aquellos productos que no mustran movimientos (E/S) y lo unes a este conjunto que ya tienes.
__________________
MCTS Isaias Islas
  #3 (permalink)  
Antiguo 22/08/2016, 10:23
 
Fecha de Ingreso: diciembre-2015
Mensajes: 21
Antigüedad: 8 años, 4 meses
Puntos: 0
Respuesta: problema con sentencia sql

Cita:
Iniciado por iislas Ver Mensaje
Saca todos aquellos productos que no mustran movimientos (E/S) y lo unes a este conjunto que ya tienes.
Primero gracias por responderme, el hecho de responderme hace que te agradesca mucho

te refieres a que haga una sentencia que diga que si S=0 también me lo saque? podrias ser mas especifico porfavor?

gracias
  #4 (permalink)  
Antiguo 22/08/2016, 10:44
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 16 años, 9 meses
Puntos: 180
Respuesta: problema con sentencia sql

Desconozco si ese filtro sea el que te de todos aquellos registros que no muestran movimientos.

Aqui la cuestion es, ya tienes los que muestran algun movimiento, te hacen falta solo aquellos que por alguna razon no REGISTRAN MOVIMIENTO ALGUNO, si ese WHERE S = 0, te da lo que comentamos, entonces ya solo lo unirias (UNION), con los que ya tienes.
__________________
MCTS Isaias Islas
  #5 (permalink)  
Antiguo 22/08/2016, 11:37
Avatar de KATHYU  
Fecha de Ingreso: julio-2013
Mensajes: 547
Antigüedad: 10 años, 9 meses
Puntos: 46
Respuesta: problema con sentencia sql

Creo que el error es por el JOIN que usas, acordate que INNER trae todo lo que concuerde con las características del de las dos tablas, proba con LEFT JOIN o cualquier otro y veras que funciona
__________________
Al contrario de lo que muchos podrían afirmar, ayudar no te hace pobre, sino más rico.
  #6 (permalink)  
Antiguo 22/08/2016, 11:52
 
Fecha de Ingreso: diciembre-2015
Mensajes: 21
Antigüedad: 8 años, 4 meses
Puntos: 0
Respuesta: problema con sentencia sql

Cita:
Iniciado por iislas Ver Mensaje
Saca todos aquellos productos que no mustran movimientos (E/S) y lo unes a este conjunto que ya tienes.
Cita:
Iniciado por iislas Ver Mensaje
Desconozco si ese filtro sea el que te de todos aquellos registros que no muestran movimientos.

Aqui la cuestion es, ya tienes los que muestran algun movimiento, te hacen falta solo aquellos que por alguna razon no REGISTRAN MOVIMIENTO ALGUNO, si ese WHERE S = 0, te da lo que comentamos, entonces ya solo lo unirias (UNION), con los que ya tienes.
hola el problema, es que las salidas cuando son ceros no son registradas, ya que nimodo que en el sistema cada vez que tengan alguna entrada y no ninguna salida solo registren el mismo producto solo para poner que cantidad en salidas es 0, el problema es que no se como hacerle para que cuando no haya salidas en el resultado me muestre las entradas como si se hubiera restado en 0.

Cita:
Iniciado por KATHYU Ver Mensaje
Creo que el error es por el JOIN que usas, acordate que INNER trae todo lo que concuerde con las características del de las dos tablas, proba con LEFT JOIN o cualquier otro y veras que funciona
Hola muchas gracias por responder, con LEFT JOIN ya había intentado y me arroja exactamente el mismo resultado el query :(, intente con right join y si me arrojo un resultado diferente pero no es lo que yo quería, de hecho seria mejor con LEFT Join pero no cambia el resultado

Última edición por rodrigohp4; 22/08/2016 a las 12:10
  #7 (permalink)  
Antiguo 23/08/2016, 09:43
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 16 años, 9 meses
Puntos: 180
Respuesta: problema con sentencia sql

Insisto, creo que es un poco jugar con el manejo de conjuntos.

Tu tienes PRODUCTO
Tienes MOVIMIENTO (ALMANCEN)

Todos aquellos PRODUCTOS que no tengan registrado un movimiento, por logica, son aquellos que no se movieron en "x" tiempo.

¿Es eso?
__________________
MCTS Isaias Islas
  #8 (permalink)  
Antiguo 23/08/2016, 12:26
 
Fecha de Ingreso: diciembre-2015
Mensajes: 21
Antigüedad: 8 años, 4 meses
Puntos: 0
Respuesta: problema con sentencia sql

Hola, solo para decirte que ya lo pude resolver :), efectivamente usando un left join, no me salía antes pero fue por errores mios, pero ya puse.

Muchas gracias!!
  #9 (permalink)  
Antiguo 24/08/2016, 11:44
Avatar de KATHYU  
Fecha de Ingreso: julio-2013
Mensajes: 547
Antigüedad: 10 años, 9 meses
Puntos: 46
Respuesta: problema con sentencia sql

Cita:
Iniciado por rodrigohp4 Ver Mensaje
Hola, solo para decirte que ya lo pude resolver :), efectivamente usando un left join, no me salía antes pero fue por errores mios, pero ya puse.

Muchas gracias!!
Osea si iba por donde yo dije ??

Bien por ti
__________________
Al contrario de lo que muchos podrían afirmar, ayudar no te hace pobre, sino más rico.

Etiquetas: sentencia, sql
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 00:12.