2011-01-19 2 views
0
나는 문제가

, 내 쿼리가 제대로알림 반복 이벤트

SELECT * FROM a LEFT JOIN b on a.eid = b.id LEFT JOIN c ON a.cid = c.id WHERE DAYOFYEAR(a.start) BETWEEN :startdate_day_of_year AND :enddate_day_of_year AND :year BETWEEN a.start AND a.end

작동하지 않습니다

: startdate_day_of_year과 : enddate_day_of_year은 사용자 입력으로부터 전달되는 ... 1-365 : 올해부터 전달 사용자 입력 ... 2011

문제는 매년 이벤트가 반복 될 수 있다는 것입니다 (예 : 이벤트가 2008 년에 시작되어 2012 년까지 진행됨). 그것은 매년 이벤트를 표시해야합니다 ...

내가 믹스에 내가 제한된 결과를 얻기 시작했을 때 ... 내가 어디에 dayofyear와 year 대신에 고정 된 날짜로 대체했는지 그것이해야하는 방식으로 일하고 ...하지만 그때 나는 반복 이벤트를 얻을 수 없습니다.

Thannk you! BR

답변

0

반복 일정은 비 반복 일정과 다소 다릅니다. 반복되는 이벤트에 예를 들어 연말 연시는 반복 행사를위한 별도의 표가 있습니다. 그렇지

, 나는 부울 열 is_yearly_event이있을 것이다 그리고이 설정되지 않은 경우에만 해를 확인할 것 :있는 그대로 ...AND (a.is_yearly_event != 0 OR :year BETWEEN a.start AND a.end)

+0

안녕하세요, 즉 옵션이 아니다 ... 테이블은 잘 – Mission

+0

...입니다 그렇다면 일회성 이벤트에서 반복되는 이벤트를 어떻게 알 수 있습니까? – 9000

관련 문제