1日だけを返すようにしています。したがって、同じ日に2つのイベントがあった場合、1つのイベントのみが返されます。どのイベントが選択されるかは任意です。私がうまくいくと思ったクエリは次のとおりです。
SELECT DISTINCT day(events.event_start_date),events.event_id
FROM scheduled_events
JOIN events ON (
scheduled_events.event_id = events.event_id
)
WHERE scheduled_events.user_id = 123
AND MONTH( events.event_start_date ) = 06
AND YEAR( events.event_start_date ) = 2012
表:イベント
+------------+--------------------+
| event_id | event_start_date |
+------------+--------------------+
| 1 | 2012-06-06 |
| 2 | 2012-06-06 |
| 3 | 2012-06-07 |
+------------|--------------------|
テーブル:scheduled_events
+------------+-----------+
| event_id | user_id |
+------------+-----------+
| 1 | 123 |
| 2 | 123 |
| 3 | 123 |
+------------|-----------|
クエリがID3および(1または2)のイベントを返すようにします。