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

[SOLUCIONADO] MySQL Excluir varios registros

Estas en el tema de MySQL Excluir varios registros en el foro de Mysql en Foros del Web. Buenas a todos! Tengo la siguiente tabla llamada 'Datos' en MySQL: ---------------------------------------- | Columnas | Tipo | Nulo | .... ---------------------------------------- | idEstacion | int(5) ...
  #1 (permalink)  
Antiguo 24/11/2015, 06:43
Avatar de sergio17791  
Fecha de Ingreso: noviembre-2015
Ubicación: Valencia
Mensajes: 21
Antigüedad: 8 años, 5 meses
Puntos: 1
MySQL Excluir varios registros

Buenas a todos!

Tengo la siguiente tabla llamada 'Datos' en MySQL:

----------------------------------------
| Columnas | Tipo | Nulo | ....
----------------------------------------

| idEstacion | int(5) | No | ....
----------------------------------------
| fecha | date | No | ....
----------------------------------------
| h_Solar | time | No | ....
----------------------------------------
...
...

He omitido muchas columnas ya que no interfieren en la consulta, y son los datos que quiero recuperar (pero como son todos pues utilizo él '*')

Básicamente lo que necesito es recuperar todos los datos para una 'idEstacion' específica, entre una fecha y una determinada hora, hasta la siguiente fecha marcada y la hora de ese día.

Por ejemplo, si quiero los datos desde el "2012-01-01" a las '11:00:00' hasta el '2012-01-03' a las '14:00:00', me tendría que devolver todos los datos comprendios entre ambas fechas, es decir, todos los datos del 2012-01-01 desde las 11:00:00 hasta el fin del día, todos los días del día 2012-01-02, y todos los datos del 2012-01-03 desde el principio del día hasta las 14:00:00...

He probado a realizar la siguiente consulta:

Código MySQL:
Ver original
  1. SELECT * FROM `Datos`
  2. WHERE `idEstacion` = 39 AND `fecha` >= '2012-01-01' AND `fecha` <= '2012-01-03'
  3.        SELECT * FROM `Datos`
  4.        WHERE `idEstacion` = 39  
  5.        AND `fecha` = '2012-01-01' AND `h_Solar` <= '11:00:00'
  6. )
  7.        SELECT * FROM `Datos`
  8.        WHERE `idEstacion` = 39
  9.        AND `fecha` = '2012-01-03' AND `h_Solar` >= '14:00:00'
  10. )
[/CODE]

Pero me da resultado vacío...

¿Alguna idea?

Gracias!

Última edición por gnzsoloyo; 24/11/2015 a las 07:41
  #2 (permalink)  
Antiguo 24/11/2015, 08:20
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: MySQL Excluir varios registros

Probemos una sintaxis diferente:
Código MySQL:
Ver original
  1.   FROM Datos
  2.  WHERE idEstacion = 39
  3.    AND fecha BETWEEN '2012-01-01' AND '2012-01-03'
  4.    AND NOT (   (    fecha = '2012-01-01'
  5.                 AND h_Solar <= '11:00:00')
  6.             OR (    fecha = '2012-01-03'
  7.                 AND h_Solar >= '14:00:00'));
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 25/11/2015, 02:00
Avatar de sergio17791  
Fecha de Ingreso: noviembre-2015
Ubicación: Valencia
Mensajes: 21
Antigüedad: 8 años, 5 meses
Puntos: 1
Respuesta: MySQL Excluir varios registros

Cita:
Iniciado por gnzsoloyo Ver Mensaje
Probemos una sintaxis diferente:
Código MySQL:
Ver original
  1.   FROM Datos
  2.  WHERE idEstacion = 39
  3.    AND fecha BETWEEN '2012-01-01' AND '2012-01-03'
  4.    AND NOT (   (    fecha = '2012-01-01'
  5.                 AND h_Solar <= '11:00:00')
  6.             OR (    fecha = '2012-01-03'
  7.                 AND h_Solar >= '14:00:00'));
Funcionó a la perfección, creo que te quiero! jajajaja

Hacía dos años que no tocaba nada de MySQL y no recuerdo bien todas sus variantes, me estaba complicando mucho la vida...

Muchísimas gracias!


Etiquetas: excluir, fecha, registros, select, tabla
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 23:33.