см. Мой первый вопрос к моей теме: SQL: разделение на две колонки
У меня есть следующая таблица:
----------------------------------
| No1 | No2 | Amount| Timestamp
----------------------------------
| A | B | 10 | 01.01.2018
| C | D | 20 | 02.01.2018
| B | A | 30 | 03.01.2018
| D | C | 40 | 04.01.2018
----------------------------------
На данный момент у меня есть следующие результаты:
-----------------------------------------------------
| No1 | No2 | Sum(Amount) over partition | Timestamp
-----------------------------------------------------
| A | B | 40 | 01.01.2018
| C | D | 60 | 02.01.2018
| B | A | 40 | 03.01.2018
| D | C | 60 | 04.01.2018
-----------------------------------------------------
с SQL (из первого вопроса с ответом Вамси Прабхалы):
select no1,no2,sum(amount) over(partition by least(no1,no2),greatest(no1,no2)) as total, timestamp
from tbl
Вопрос для меня сейчас заключается в том, как добавить строки к результатам, например:
----------------------------------------------------
| No1 | No2 | Sum(Amount) over partition | Timestamp
----------------------------------------------------
| A | B | 40 (optional) | 01.01.2018
| B | A | 40 (optional) | 02.01.2018
| AB |(NULL)| 40 |
| C | D | 60 (optional) | 03.01.2018
| D | C | 60 (optional) | 04.01.2018
| CD |(NULL)| 60 |
----------------------------------------------------
Обратите внимание, что может быть несколько строк, например, со значениями (No1 = A, No2 = B)
ОБНОВЛЕНИЕ: добавлен столбец отметки времени, чтобы быть более точным, чего я хочу достичь