|
27.06.2012, 13:44 | #1 |
Участник
|
Цитата:
Например без ТОР 1 я получаю : 1.06 значение1 2.06 значение1 2.06 значение2 3.06 значение2 С ТОР1 я получаю : 2.06 значение1 а надо получить : 2.06 значение1 3.06 значение2 Значение1 и значение2 я получаю из другой сущности |
|
27.06.2012, 16:20 | #2 |
Участник
|
Цитата:
Сообщение от NoTimeToCry
Ну там получается, что из за TOP 1 я получаю только одно значение с последней датой изменения. Если ТОР 1 не ставить, то он выдаст кучу аналогичных записей и отличие будет только в этой дате. То есть будет выводить не последнюю дату, как необходимо, а все даты изменения за месяц. При этом поля из другой сущности тоже будут дублироваться.
Например без ТОР 1 я получаю : 1.06 значение1 2.06 значение1 2.06 значение2 3.06 значение2 С ТОР1 я получаю : 2.06 значение1 а надо получить : 2.06 значение1 3.06 значение2 Значение1 и значение2 я получаю из другой сущности |
|
27.06.2012, 16:36 | #3 |
Чайный пьяница
|
Тут больше вопрос не по CRM, а по SQL.
Нарисуйте пожалуйста на примере с наименованиями полей что есть и какую группировку хотите получить.
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством. Подписывайтесь на мой блог, twitter и YouTube канал. Пользуйтесь моим Ultimate Workflow Toolkit |
|
27.06.2012, 16:48 | #4 |
Участник
|
Цитата:
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 | #5 |
Участник
|
Проблема актуальна
|
|
28.06.2012, 12:45 | #6 |
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 | #7 |
Участник
|
Цитата:
Сообщение от 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 он выдаёт всё. |
|
|
|