|
27.06.2012, 16:36 | #1 |
Чайный пьяница
|
Тут больше вопрос не по CRM, а по SQL.
Нарисуйте пожалуйста на примере с наименованиями полей что есть и какую группировку хотите получить.
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством. Подписывайтесь на мой блог, twitter и YouTube канал. Пользуйтесь моим Ultimate Workflow Toolkit |
|
27.06.2012, 16:48 | #2 |
Участник
|
Цитата:
FROM Filterednew_changeopportunity AS ch INNER JOIN FilteredOpportunity AS opp ON ch.regardingobjectid = opp.opportunityid WHERE (ch.actualend BETWEEN dbo.fn_BeginOfMonth(GETDATE()) AND GETDATE()) Есть несколько возможных сделок. У каждой сделки есть так же несколько сущностей действий. Необходимо получить комментарий из последней сущности действие, которая не менялась на этой неделе для каждой сделки. Запрос который я написал возвращает 1.06 коммент1 сделка1 2.06 коммент3 сделка1 2.06 коммент2 сделка2 3.06 коммент4 сделка2 а нужно получить 2.06 коммент3 сделка1 3.06 коммент4 сделка2 Последний раз редактировалось NoTimeToCry; 27.06.2012 в 17:47. |
|
28.06.2012, 12:08 | #3 |
Участник
|
Проблема актуальна
|
|
28.06.2012, 12:45 | #4 |
MCITP
|
А если так написать?
SELECT max(ch.modifiedon) AS 'Дата', ch.new_commentary AS 'Комментарий', opp.name AS 'ВС' FROM Filterednew_changeopportunity AS ch INNER JOIN FilteredOpportunity AS opp ON ch.regardingobjectid = opp.opportunityid WHERE (ch.actualend BETWEEN dbo.fn_BeginOfMonth(GETDATE()) AND GETDATE()) group by ch.new_commentary , opp.name |
|
|
За это сообщение автора поблагодарили: NoTimeToCry (1). |
28.06.2012, 12:57 | #5 |
Участник
|
Цитата:
Сообщение от GBH
А если так написать?
SELECT max(ch.modifiedon) AS 'Дата', ch.new_commentary AS 'Комментарий', opp.name AS 'ВС' FROM Filterednew_changeopportunity AS ch INNER JOIN FilteredOpportunity AS opp ON ch.regardingobjectid = opp.opportunityid WHERE (ch.actualend BETWEEN dbo.fn_BeginOfMonth(GETDATE()) AND GETDATE()) group by ch.new_commentary , opp.name SELECT max(ch.modifiedon) AS 'Дата',opp.name AS 'ВС' FROM Filterednew_changeopportunity AS ch INNER JOIN FilteredOpportunity AS opp ON ch.regardingobjectid = opp.opportunityid WHERE (ch.actualend BETWEEN dbo.fn_BeginOfMonth(GETDATE()) AND GETDATE()) group by opp.name То выдает как надо. Но стоит добавить ch.new_commentary он выдаёт всё. |
|
28.06.2012, 13:06 | #6 |
Чайный пьяница
|
А если так?
X++: Select ch.modifiedon ,t.name ,ch.new_commentary From Filterednew_changeopportunity ch Inner Join (SELECT max(ch.modifiedon) AS d, opp.name AS name FROM Filterednew_changeopportunity AS ch INNER JOIN FilteredOpportunity AS opp ON ch.regardingobjectid = opp.opportunityid WHERE (ch.actualend BETWEEN dbo.fn_BeginOfMonth(GETDATE()) AND GETDATE()) group by opp.name) t on ch.modifiedon = t.d
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством. Подписывайтесь на мой блог, twitter и YouTube канал. Пользуйтесь моим Ultimate Workflow Toolkit |
|
|
За это сообщение автора поблагодарили: NoTimeToCry (1). |
28.06.2012, 13:11 | #7 |
Участник
|
Цитата:
Сообщение от a33ik
А если так?
X++: Select ch.modifiedon ,t.name ,ch.new_commentary From Filterednew_changeopportunity ch Inner Join (SELECT max(ch.modifiedon) AS d, opp.name AS name FROM Filterednew_changeopportunity AS ch INNER JOIN FilteredOpportunity AS opp ON ch.regardingobjectid = opp.opportunityid WHERE (ch.actualend BETWEEN dbo.fn_BeginOfMonth(GETDATE()) AND GETDATE()) group by opp.name) t on ch.modifiedon = t.d |
|
|
|