![]() |
#1 |
Участник
|
SSRS создание календаря событий
Добрый день,
Не совсем уверен с разделом, если ошибся простите. Есть идея создания календаря событий, должно выглядеть следующим образом: Список состоящий из дат, под каждой датой список мероприятий, которые проходят в этот день. На данный момент сделал репорт, который выгружает мероприятия, которые запланированы в определенный период, и составляет список, но записывает только в дату когда начинается мероприятие. Запрос в SQL: Код: SELECT CRMAF_event.new_name, CRMAF_event.new_startdate, CRMAF_event.new_enddate, CRMAF_event.new_tutoridname, tutor.be_flipchart, tutor.be_owncomputer, tutor.be_ohp, tutor.be_preferredcomputer, venue.new_roomidname AS room, venue.new_venueidname AS venue FROM FilteredNew_Event AS CRMAF_event INNER JOIN FilteredContact AS tutor ON CRMAF_event.new_tutorid = tutor.contactid INNER JOIN FilteredNew_City AS city ON CRMAF_event.new_cityid = city.new_cityid INNER JOIN FilteredNew_EventVenue AS venue ON CRMAF_event.new_eventid = venue.new_eventid WHERE (city.new_country = 'Russia') AND (CRMAF_event.new_tutoridname <> 'ATC, Administrator') AND (CRMAF_event.new_name NOT LIKE '%(CANCELLED)') ORDER BY CRMAF_event.new_startdate ![]() Вопрос: как сделать так что бы событие отображалось во всех датах, когда оно проходит, а не только когда начинается? |
|
![]() |
#2 |
Чайный пьяница
|
Я бы подошёл к такой задаче следующим образом:
1. Создал временную таблицу с единственным полем - ДатаВремя. 2. Используя один из многих вариантов заполнил бы эту таблицу нужным вам интервалом. 3. Использовал примерно следующий код: Declare @dates table(eventdate datetime) --population of table with required datetime intervals X++: SELECT CRMAF_event.new_name, CRMAF_event.new_startdate, CRMAF_event.new_enddate, CRMAF_event.new_tutoridname, tutor.be_flipchart, tutor.be_owncomputer, tutor.be_ohp, tutor.be_preferredcomputer, venue.new_roomidname AS room, venue.new_venueidname AS venue, d.eventdate FROM FilteredNew_Event AS CRMAF_event INNER JOIN FilteredContact AS tutor ON CRMAF_event.new_tutorid = tutor.contactid INNER JOIN FilteredNew_City AS city ON CRMAF_event.new_cityid = city.new_cityid INNER JOIN FilteredNew_EventVenue AS venue ON CRMAF_event.new_eventid = venue.new_eventid Inner Join @dates d On CRMAF_event.new_startdate <= d.eventdate and CRMAF_event.new_enddate >= d.eventdate WHERE (city.new_country = 'Russia') AND (CRMAF_event.new_tutoridname <> 'ATC, Administrator') AND (CRMAF_event.new_name NOT LIKE '%(CANCELLED)') ORDER BY CRMAF_event.new_startdate
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством. Подписывайтесь на мой блог, twitter и YouTube канал. Пользуйтесь моим Ultimate Workflow Toolkit |
|
![]() |
#3 |
Moderator
|
Возможно я что-то пропустил, но я решительно не понял зачем нужна временная таблица и как должен выглядеть итоговый календарь
![]()
__________________
http://fixrm.wordpress.com, снятие/наведение порчи. Быстро, дорого, гарантия. ![]() ![]() |
|
|
|