MS SQL: группировка
От: Митяй Россия http://dkomanov.livejournal.com
Дата: 31.08.05 11:00
Оценка:
Никак не могу извернуться:


SELECT
    MAX(RP.[ID]), RP.RelationID -- нужно выбрать RelationID, соответсвтующий максимальному ID
FROM 
    vwReportingPeriods AS RP
    INNER JOIN
    vwRelations AS R
        ON RP.RelationID = R.[ID] AND R.ChildNodeID = @NodeID
GROUP BY
    R.ParentNodeID


Может быть, я, конечно, много хочу
Re: MS SQL: группировка
От: bedward70 Россия http://www.bedward70.narod.ru/
Дата: 31.08.05 11:16
Оценка:
Здравствуйте, Митяй, Вы писали:

М>Никак не могу извернуться:



М>
М>SELECT
М>    MAX(RP.[ID]), RP.RelationID -- нужно выбрать RelationID, соответсвтующий максимальному ID
М>FROM 
М>    vwReportingPeriods AS RP
М>    INNER JOIN
М>    vwRelations AS R
М>        ON RP.RelationID = R.[ID] AND R.ChildNodeID = @NodeID
М>GROUP BY
М>    R.ParentNodeID

М>


М>Может быть, я, конечно, много хочу


Я бы попробовал вот так

select MAX(RPe.[ID]), RPe.RelationID from 
 (
 select RP.RelationID  as RelationID
 FROM 
        vwReportingPeriods AS RP
    INNER JOIN
    vwRelations AS R
        ON RP.RelationID = R.[ID] AND R.ChildNodeID = @NodeID
  GROUP BY
    R.ParentNodeID
  ) a,
 vwReportingPeriods AS RPe
 where a.RelationID = RPe.RelationID

С уважением, Эдуард
С уважением, Эдвард
Re[2]: MS SQL: группировка
От: bedward70 Россия http://www.bedward70.narod.ru/
Дата: 31.08.05 11:19
Оценка: +1
Здравствуйте, bedward70, Вы писали:

Ошибочка...

В нутри скобок группировать по RP.RelationID

С уважением, Эдуард
С уважением, Эдвард
Re: MS SQL: группировка
От: Alime  
Дата: 31.08.05 11:21
Оценка:
Попробуй так:

SELECT
RP.[ID], RP.RelationID
FROM
vwReportingPeriods AS RP
INNER JOIN vwRelations AS R
ON RP.RelationID = R.[ID] AND R.ChildNodeID = @NodeID
WHERE RP.[ID] = (SELECT MAX([ID]) FROM vwReportingPeriods)
Re[2]: Спасибо, разобрался - ступил :)
От: Митяй Россия http://dkomanov.livejournal.com
Дата: 31.08.05 11:25
Оценка:
Здравствуйте, Alime, Вы писали:

A>Попробуй так:


В корне неверно получается — нет группировки



В итоге надо было просто в GROUP BY RelationID добавить и всё (заработался)
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.