Понимание самосоединений MySQL
Самообъединения, метод, используемый в базах данных SQL, позволяет вам запрашивать таблицу сама по себе. В этом случае мы углубимся в самосоединение MySQL, чтобы найти события с датами начала, следующие за другим событием на указанное количество дней.
Разбивка запроса:
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. Извлечение данных (FROM)
FROM mm_eventlist_dates event1 JOIN mm_eventlist_dates event2
Эта часть извлекает данные из двух таблиц, mm_eventlist_dates, представленных как event1 и event2, для самостоятельного присоединения.
2. Условие соединения (ON)
ON event2.startdate = date_add(event1.enddate, INTERVAL 1 DAY)
Это условие определяет соединение между двумя таблицами. Он указывает, что дата начала события 2 должна быть равна одному дню после даты окончания события 1.
3. Фильтрация (WHERE)
WHERE event1.id=$id
Этот фильтр ограничивает результаты событиями, идентификатор которых соответствует указанному $id.
4. Выбор поля (SELECT)
SELECT event2.id, event2.startdate, event2.price
Эта часть определяет, какие поля из таблицы event2 должны быть включены в набор результатов: ID , дату начала и цену.
Как это работает:
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3