Hola gente
parametros (id prodcutos y fecha)
intento obtener si un o varios productos estan dentro del rango con los eventos que esten relacionados esos productos... si cada producto esta dentro del rango de su evento esta dentro del rango... todo ok
si en unos de esos productos uno no se encuentra dentro del rango de su evento relacionando de acuerdo a la fecha dada
entonces esta mal ...
ej.
prodcut
id , name
10 producto01
11 producto02
evento_product
product_id event_id
10 1
11 2
evento
id, nombre, fecha_inicio, fecha_final
1 verano 2014-02-20 2014-02-31
2 invierno 2014-03-20 2014-03-31
---- entonces en un array envio los id de los productos(10,11) con la fecha 2014-02-25
---- en ese caso me votaria error por que el id 11 su evento relacionado no se encuentra 2014-02-25 entre las fechas de su evento relacionado....
thanks all!!
entre Desarrolladores
Recibe ayuda de expertos
Registrate y pregunta
Es gratis y fácil
Recibe respuestas
Respuestas, votos y comentarios
Vota y selecciona respuestas
Recibe puntos, vota y da la solución
Pregunta
consulta, subconsulta ,mysql, alguna idea
- preguntó
- Web
- 718 Vistas
- 1 Respuestas
- solucionada
1 Respuesta
En primer lugar decirte que la pregunta está expuesta de forma bastante poco clara. El enunciado de la pregunta no contiene ninguna pregunta y la explicación del contenido es bastante liosa. Intenta ser más conciso y utilizar un poco mejor los signos de puntuación.
Creo que deberías sacar una lista de productos activos para una fecha de la siguiente manera:
SELECT ep.productid
FROM eventoproduct as ep
JOIN evento as e ON e.id = ep.eventid
WHERE e.fecha_inicio <= '2014-02-25 00:00:00'
AND e.fecha_final >= '2014-02-25 23:59:59'
Con esa consulta puedes sacar una lista de productos que tienen eventos activos y a partir de ahí realizar tus comprobaciones a nivel del código de la aplicación.
Si en la misma consulta ya quieres incluir los productos seleccionados y quieres evitarte una comparación desde el código puedes hacer:
SELECT id FROM product WHERE
id IN (10, 11)
AND id NOT IN (SELECT ep.productid
FROM eventoproduct as ep
JOIN evento as e ON e.id = ep.eventid
WHERE e.fecha_inicio <= '2014-02-25 00:00:00'
AND e.fecha_final >= '2014-02-25 23:59:59' )
La consulta anterior te devolverá una lista de los productos seleccionados que no cumplen la condición de tener un evento activo. Si la lista está vacía significa todos los productos seleccionados los cumplen.
Por favor, accede o regístrate para añadir un comentario.
Por favor, accede o regístrate para responder a esta pregunta.
En el blog
-
- 407132
- 1
- Jul 5, 2015
Sin Respuesta
-
- 3
- 0
- hace 17 minutos
-
- 166
- 0
- Mar 19
-
- 82
- 2
- Feb 26
-
- 1100
- 0
- Nov 7, 2023
-
- 294
- 0
- Sep 19, 2023
-
- 302
- 0
- Ago 21, 2023
-
- 386
- 0
- May 14, 2023
-
- 355
- 0
- Abr 21, 2023
- ver todas
Actividad Reciente
ArtEze preguntó hace 17 minutos
Bajar extensión de Chrome sin actualizar el navega…ArtEze respondió hace 1 hora
No me deja instalar OracleArtEze respondió hace 2 horas
Formulario que guarde los datos de un jsonArtEze comentó hace 3 horas
Script /boot/ scrapingSantiago2610 comentó Mar 23
Acualizar ChoiceField en djangoSantiago2610 preguntó Mar 19
Acualizar ChoiceField en djangogonzalss preguntó Feb 26
Script /boot/ scrapingParkJo preguntó Ene 30
No me deja instalar Oracleelporfirio respondió Ene 10
Actualizar la imagen con los datos devuelto en un …ovedg preguntó Dic 31, 2023
Actualizar la imagen con los datos devuelto en un …
Ultimas Preguntas
Usuarios Top
- Leonardo-Tadei
- 227320 Puntos
- Peter
- 150470 Puntos
- white
- 75880 Puntos
- carlossevi
- 63580 Puntos
- magarzon
- 30650 Puntos
- pregunton
- 20400 Puntos