"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > ¿Cómo encontrar eventos después de otro evento por un número específico de días en MySQL?

¿Cómo encontrar eventos después de otro evento por un número específico de días en MySQL?

Publicado el 2024-11-11
Navegar:744

How to Find Events Following Another Event by a Specific Number of Days in MySQL?

Comprensión de las autouniones MySQL

Las autouniones, una técnica utilizada en bases de datos SQL, le permiten consultar una tabla respecto de sí misma. En este caso, profundizaremos en una autounión de MySQL para buscar eventos con fechas de inicio posteriores a otro evento por un número específico de días.

Desglose de consultas:

SELECT event2.id, event2.startdate, event2.price
FROM mm_eventlist_dates event1
JOIN mm_eventlist_dates event2 
ON event2.startdate = date_add(event1.enddate, INTERVAL 1 DAY)
WHERE event1.id=$id;

1. Extracción de datos (DESDE)

FROM mm_eventlist_dates event1
JOIN mm_eventlist_dates event2 

Esta parte extrae datos de dos tablas, mm_eventlist_dates, representadas como evento1 y evento2, para la autounión.

2. Condición de unión (ON)

ON event2.startdate = date_add(event1.enddate, INTERVAL 1 DAY)

Esta condición define la unión entre las dos tablas. Especifica que la fecha de inicio del evento2 debe ser igual a un día después de la fecha de finalización del evento1.

3. Filtrado (WHERE)

WHERE event1.id=$id

Este filtro limita los resultados a eventos que tienen un ID que coincide con el $id especificado.

4. Selección de campo (SELECT)

SELECT event2.id, event2.startdate, event2.price

Esta parte especifica qué campos de la tabla event2 deben incluirse en el conjunto de resultados: ID , fecha de inicio y precio.

Cómo funciona:

  1. La consulta comienza extrayendo dos conjuntos de registros de la tabla mm_eventlist_dates.
  2. La condición de unión reduce el resultado al filtrar los registros del evento2 cuyas fechas de inicio coinciden un día después de las fechas de finalización de los registros del evento1.
  3. El filtro aplica el $id especificado por el usuario para refinar aún más los registros del evento1.
  4. Los resultados devueltos incluyen los campos deseados de la tabla evento2, que representan eventos que siguen al evento1 un día.
Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3