我正在尝试加入 2 个表、事件和 event_dates,每个事件都有很多日期
事件表包含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 或其他 smth,并且只有今天 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。