我想加入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
@John:我不明白。你寫過:我想顯示這個月的事件列表 - 但只有那些,今天有place_id = 1。如果我你的月份你有所有不同的地方1,對我來說,你沒有行。請根據您的結果添加一些樣品。 –