1
MS-SQL Server 2008 R2를 실행합니다. 다음과 비슷한 설정을 사용하는 테이블이 있습니다. 가격이 0 인 날짜가 있습니다. 그러나 이전 달의 가격을 의미하는 자리 표시자가 변경되지 않았습니다. Coalesce 나 가장 가까운 PREVIOUS 날짜의 Price-value가 0이 아닌 다른 함수를 사용할 수 있습니까?날짜 순서 목록에서 이전의 0이 아닌 값 찾기
** 항목 이름 | 날짜 | 가격 **
Item1 | 01/01/2013 | 10.00
Item1 | 02/01/2013 | 9.50
Item1 | 03/01/2013 | 0
Item1 | 04/01/2013 | 9.50
Item1 | 05/01/2013 | 8.00
Item1 | 06/01/2013 | 8.00
Item1 | 07/01/2013 | 6.00
Item1 | 08/01/2013 | 6.00
Item1 | 09/01/2013 | 0
Item2 | 01/01/2013 | 50.00
Item2 | 02/01/2013 | 45.00
Item2 | 03/01/2013 | 35.00
Item2 | 04/01/2013 | 30.00
Item2 | 05/01/2013 | 25.00
Item2 | 06/01/2013 | 0
Item2 | 07/01/2013 | 10.00
Item2 | 08/01/2013 | 0
Item2 | 09/01/2013 | 0
원하는 출력 ** 항목 이름 | 날짜 | 가격 여기 **
Item1 | 01/01/2013 | 10.00
Item1 | 02/01/2013 | 9.50
Item1 | 03/01/2013 | 9.50
Item1 | 04/01/2013 | 9.50
Item1 | 05/01/2013 | 8.00
Item1 | 06/01/2013 | 8.00
Item1 | 07/01/2013 | 6.00
Item1 | 08/01/2013 | 6.00
Item1 | 09/01/2013 | 6.00
Item2 | 01/01/2013 | 50.00
Item2 | 02/01/2013 | 45.00
Item2 | 03/01/2013 | 35.00
Item2 | 04/01/2013 | 30.00
Item2 | 05/01/2013 | 25.00
Item2 | 06/01/2013 | 25.00
Item2 | 07/01/2013 | 10.00
Item2 | 08/01/2013 | 10.00
Item2 | 09/01/2013 | 10.00
아니요, 'COALESCE'는 자체적으로 여기에 도움이되지 않습니다. 이전 날짜가 항상 있습니까? 0이 될 수있는 최대 연속 행 수가 있습니까? 불행히도 이전 행에 참여할 수 없습니다. 왜냐하면이 행도 0이 될 수 있기 때문입니다. 그 전에 행에 참여해야합니다. 실제 값은 '변경'또는 절대 값입니까? 즉, 0인지 아닌지에 관계없이 누적 합계를 찾으려고합니다. –
각 항목이 가격으로 시작해야하기 때문에 항목의 첫 번째 값이 0 인 시간이 없어야합니다. 따라서, 참조 될 수있는 적어도 하나의 0이 아닌 값이 항상 있어야합니다. 그러나 0 일 수있는 연속 행의 수에는 제한이 없습니다. 가격의 값 유형은 부동 소수점이며 소수점 오른쪽에 몇 가지 문자가있을 가능성이 높습니다. – user2036380
값 '10 .00 '은 가격이 10으로 변경되었음을 의미합니까 아니면 가격이 _is_ 10을 의미합니까? –