MySQL - "omitir" un select

   
Vista:

"omitir" un select

Publicado por David (16 intervenciones) el 11/01/2018 14:01:55
Hola, como estan? mi pregunta es la siguiente,
tengo una consulta sencilla,
1
select * from manejo where MESA = 10 and LINEA= 1  order by FECHA_PROCESO desc limit 1
que basicamente me muestra lo que necesito cuando los datos coniciden, el tema viene que esos datos son ingresados por un form en php, la consulta siempre me muestra el ultimo registro, pero si no hago un registro en la linea 1 mesa 10 me sigue mostrando el anterior y lo que quiero es que se vea 0, no se si me explique bien,
en resumen que si no hago un registro en dicha linea y mesa que se vea 0 y no el dato anterior registrado,
la tabla de manejo tiene los campos , fecha de proceso, linea, mesa, canastillasdisponibles, canastillas restante.
espero que se me entienda y gracias de antemano.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

"omitir" un select

Publicado por horacio hnferrer@yahoo.com.ar (3 intervenciones) el 11/01/2018 14:44:40
Si no entendí mal vos podes tener registros anteriores a la fecha del día para la linea y mesa y con la consulta que armas te esta devolviendo eso, si lo que pretendes es ver si en la fecha actual no hay registros para la mesa y la linea deberías agregarle al where
fecha = date, de esta forma si tienes registros anteriores pero de otras fechas no los veras. El resultado puede ser null con lo que deberas manejar esa alternativa

saludos Horacio
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

"omitir" un select

Publicado por David (16 intervenciones) el 11/01/2018 15:40:11
si me entendiste, pero pasa que los registros se hacen en datetime y por alguna razon me muestra todos los del dia, pero necesito que me muestre solo el ultimo registro, y si el ultimo registro es 0, que me lo muestre,
gracias de antemano
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

"omitir" un select

Publicado por Leonardo Josué (388 intervenciones) el 11/01/2018 21:06:50
Hola David:

Podrías poner un ejemplo de tus datos y a partir de esos datos decirnos qué es lo que esperas obtener como salida? así será más factible que podamos darte una solución.

Saludos
Leo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

"omitir" un select

Publicado por David (16 intervenciones) el 11/01/2018 22:14:26
hola, gracias, un ejemplo es que ingreso en la tabla:
|| hora proceso || linea || mesa || proveedor || canastillas disponibles || canastillas restantes ||

|| 2018-1-11 20:20 || 1 || 3 || 123 || 50 || 20 ||

|| 2018-1-11 20:21 || 0 || 0 || 0 || 0 || 0 ||

si se fijan, en fecha proceso del segundo campo es ingresada un minuto despues pero esta en cero, necesito que me muestre ese 0, ya que en la consulta que estoy usando me muestra los campos anteriores.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

"omitir" un select

Publicado por Leonardo Josué (388 intervenciones) el 11/01/2018 23:05:27
Hola de nuevo David...

Lamentablemente sigue sin quedarme claro qué es lo que quieres hacer O_o no sé si para el resto de los foristas les pasa lo mismo. estoy tratando de relacionar tus dos primeros post's con los datos que pones de ejemplo, pero no logro entender...

Vayamos por partes. en primer lugar, ¿qué es lo que tienes que buscar en tu tabla es decir, qué es lo que debe de ir en el WHERE de tu consulta? de acuerdo a lo que pones en tu consulta, lo que te interesa es buscar es la LINEA y la MESA... para los datos de ejemplo, entonces sería la linea 1 y la mesa 3 correcto:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
mysql> select * from tabla;
+---------------------+-------+------+-----------+-------------------------+-----------------------+
| hora_proceso        | linea | mesa | proveedor | canastillas_disponibles | canastillas_restantes |
+---------------------+-------+------+-----------+-------------------------+-----------------------+
| 2018-01-11 20:20:00 |     1 |    3 |       123 |                      50 |                    20 |
| 2018-01-11 20:21:00 |     0 |    0 |         0 |                       0 |                     0 |
+---------------------+-------+------+-----------+-------------------------+-----------------------+
2 rows in set (0.00 sec)
 
mysql> select * from tabla where linea = 1 and mesa = 3;
+---------------------+-------+------+-----------+-------------------------+-----------------------+
| hora_proceso        | linea | mesa | proveedor | canastillas_disponibles | canastillas_restantes |
+---------------------+-------+------+-----------+-------------------------+-----------------------+
| 2018-01-11 20:20:00 |     1 |    3 |       123 |                      50 |                    20 |
+---------------------+-------+------+-----------+-------------------------+-----------------------+
1 row in set (0.00 sec)

Pero en este caso, hay otro registro que tiene una fecha posterior (1 minuto después), pero que NO CORRESPONDE A LA LINEA NI TAMPOCO CORRESPONDE A LA MESA

Si entiendo bien, entonces lo que quieres hacer sería más o menos así:

1. Buscar un (o más registros) para una línea y mesa en específico.
2. Si se encuentra algún registro, VERIFICAR SI NO HAY REGISTROS CON FECHA POSTERIOR AL QUE SE ENCONTRÓ, (no importa si pertenecen a otra línea y/o mesa???)

-->Si no existen registros posteriores, entonces mostrar el registro encontrado en el punto 1.
-->Si existen registros posteriores, entonces MOSTRAR EL ÚLTIMO REGISTRADO.

Es más o menos así lo que pretendes???

Saludos
Leo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

"omitir" un select

Publicado por David (16 intervenciones) el 12/01/2018 22:02:24
Muchas gracias ya lo solucione, entiendo que no hayas entendido por que no me supe explicar y no sabia como hacerlo especificamente, pero te comento lo que pasaba, todo los datos eraan agregados por php, pero eso depende de la cantidad de canastillas, por ende habian casillas que quedaban en 0, asi que si yo colocaba un regitro, me mostraba el dato 1 en una tabla, si colocaba un segundo registro me mostraba dato 2 en otra, pero el dato 1 seguia saliendo en la tabla anterior y eso no podia pasar, lo que hice fue colocar en la sentencia esto:
1
select * from manejo where MESA = 1 and LINEA = 3 or LINEA = 0 order by FECHA_PROCESO desc limit 1
asi el campo que no se lleno me lo muestra en 0 y no el dato anterior registrado, gracias por la ayuda.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Revisar política de publicidad