SQL-запрос для получения разницы между значением из одной строки и значением из другой строки - PullRequest
2 голосов
/ 27 июля 2010

У меня есть данные, как показано в таблице ниже

| 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 |

Извините за формат. Я переформатировал это сейчас. Я пытаюсь получить разницу в значении между позициями № 101 и 102 на дату 201002. Возможно ли это получить? Любая помощь с благодарностью.

1 Ответ

1 голос
/ 27 июля 2010

Используйте самостоятельное соединение:

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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...