Я пытаюсь соединить 2 таблицы, событие и event_dates, каждое событие имеет много датвыбрать несколько строк с условием для одной строки MySQL
события таблицы содержит ID
, name
; event_dates - ID
, event_id
, date
, place_id
каждый день - одна линия в event_dates
таблица. Для разных дней place_id
могут быть разными.
Я хочу, чтобы показать список событий для этого месяца - но только те, что на сегодняшний день уже place_id = 1.
Что SQL-запрос я должен написать для этого? Благодаря
редактировать
Я извиняюсь, я пропустил л, то в результате наряду с событиями, которые я должен показать event_dates
таблицу для каждого события.
, так что результат будет как
1) event id and name with its dates for this month (and for today place_id = 1)
2) other event id and name with its dates for this month (and for today place_id = 1)
etc
SELECT e.*, d.date
FROM events e
JOIN event_dates d
ON e.id = d.event_id
WHERE d.date BETWEEN {d '2013-08-01'} and {d '2013-08-31'}
AND d.place_id = 1
этот запрос не работает, потому что, если в течение всего месяца place_id составляет 2, 3 или чего-л еще, и только сегодня 1 в этом случае я будет иметь только событие с только сегодняшними строками из таблицы event_dates
РЕЗУЛЬТАТ должен быть следующим
Aug1 Aug2 Aug3 .... Aug21(today) . . .Aug30
eventName1 placeId placeId placeId placeId placeId
eventName2 placeId placeId placeId placeId placeId
eventName3 placeId placeId placeId placeId placeId
Итак, я показываю список эвенов с их информацией за этот месяц, но все перечисленные события должны иметь placeId = 1 на сегодняшний день.
Что вы пробовали до сих пор? Хотя я мог бы просто написать запрос, который бы разрешил эту проблему для вас, действительно кажется, что вы ничего не пробовали, поскольку запрос, который я бы написал, является одним из наиболее простых запросов INNER JOIN. –
@ Simonatmso.net, извиниться, я пропустил, чтобы упомянуть о самом важном условии, без того, чтобы это было просто простое соединение, и были правы – John
@ Джон: Я не понимаю. Вы написали: я хочу показать список событий за этот месяц, но только те, что на сегодняшний день имеют place_id = 1. Если в вашем месяце у вас есть все места по-разному, для меня у вас нет строк , Пожалуйста, добавьте несколько образцов, как вы хотите получить результат. –