У меня есть таблица с 3 столбцами:
DATE_A
, DATE_B
и ISSUE
DATE_A
и DATE_B
могут быть заполнены тремя возможными способами:
либо оба имеют значение, либо только одно, как показано здесь:
DATE_A | DATE_B | ISSUE
----------+-----------+-----------
20130301 | 20140101 | bla
20150801 | null | foo
null | 20180701 | bar
Мне нужно проанализировать эту таблицу, чтобы заполнить новую таблицу, причем DATE_A и DATE_B заполняют оба столбца DATE_M
.
Если значение DATE_A
(или DATE_B
) для вставки в DATE_M
уже существует в DATE_M
, то к источнику ISSUE
необходимо добавить существующий DATE_M
ISSUE
. Пример ниже показывает принцип.
Пример * * тысяча двадцать-один
Источник
DATE_A | DATE_B | ISSUE
----------+-----------+-----------
20130301 | 20140101 | bla1
20150801 | null | foo1
null | 20180701 | bar
20130301 | 20150101 | bla2
20150801 | null | foo2
Пункт назначения
DATE_M | ISSUE
----------+-----------
20130301 | bla1; bla2
20140101 | bla1
20150801 | foo1; foo2
20150101 | bla2
20180701 | bar
Вопрос
Можно ли написать запрос, выполнив это, или следует написать хранимую процедуру? Если один запрос может, что бы это могло быть?