У меня есть набор данных ниже, и вам нужно довести его до уровня, где он показывает одну строку в день на человека за идентификатор продукта. С конечной целью можно сравнить первый предыдущийStat на основе tranTime с самым последним currentStat.Как сравнить значения в разных строках и разных столбцах в SQL Server 2008
tranDate productID tranTime previousSTAT currentSTAT FIRSTNAME
20140221 47444 10533900 NULL U SHAUN
20140221 47444 10553700 U U SHAUN
20140304 47444 11133300 U U TIMOTHY
20140304 47444 11204900 U U TIMOTHY
20140305 47444 9133300 U Y TIMOTHY
20140305 47444 9204900 Y Y TIMOTHY
В соответствии с ниже:
tranDate productID previousSTAT currentSTAT FIRSTNAME
20140221 47444 NULL U SHAUN
20140304 47444 U U TIMOTHY
20140305 47444 U Y TIMOTHY
Любая помощь, которую люди могут предоставить будут оценены.
С уважением, Gabbaii
Только в '' Group By на колоннах, которые вы требовали, как 'выбрать ... из .. где ... Группа по Trandate, ProductID, previousstat, currentstat, firstname' –
Пример не является лучшим, потому что он не объясняет, как tranTime влияет на вещи, но если вы находитесь на SQL Server 2012 или новее, функция LAG может вам помочь. –
tranTime указывает, когда произошла транзакция. Поэтому в конечном состоянии я хочу сравнить первое значение предыдущегоStat с последним значением currentStat. – GaBBaii