2010-07-27 2 views
2

다음 표와 같은 데이터가 있습니다.SQL 한 행의 값과 다른 행의 값의 차이를 가져 오는 쿼리

| ItemNo | 날짜 | 값 |
--------------------------
| 101 | 201002 | 5 |
| 102 | 201002 | 3 |
| 201 | 201002 | 7 |
| 202 | 201002 | 2 |

| 101 | 201003 | 6 |
| 102 | 201003 | 3 |
| 201 | 201003 | 7 |
| 202 | 201003 | 1 |

예상 결과
| ItemNo | 날짜 | 값 |
--------------------------
| 100 | 201002 | 2 |
| 200 | 201002 | 5 |
| 100 | 201003 | 3 |
| 200 | 201003 | 6 |

죄송합니다. 나는 그것을 지금 다시 포맷했다. Date 201002의 Item No 101과 102 사이의 Value 차이를 얻으려고합니다. 이 작업을 수행 할 수 있습니까? 어떤 도움이라도 대단히 감사합니다.

+0

당신은 코드를 태그로 읽을 수 그래서 다시 포맷 할 수 있습니까? – JNK

+0

이제는 읽을 수있게되었으므로 실행하려는 기능을 설명해 주시겠습니까? 201에서 101과 202를 빼는 건가요? – JNK

+0

클럽에 2 개의 행을 넣으시겠습니까? 그리고 결과 하나의 행은 두 행의 차이가됩니까 ???? ????? –

답변

1

사용 자체가 조인 :

SELECT 
    T1.ItemNo - 1 AS ItemNo, 
    T1.Date, 
    T1.Value - T2.Value AS Value 
FROM table1 T1 
JOIN table1 T2 
ON T1.Date = T2.Date 
AND T1.ItemNo + 1 = T2.ItemNo 
+0

사소한 편집 - "t1.value - t2.value as value"이어야합니다 - 빼기가 잘못된 방법이었습니다. –

+0

감사합니다 얘들 아 ...이게 내가 필요한거야. – fooman

+0

@Neil Moss : Thanks. 결정된. –

관련 문제