Свернутая таблица с двумя столбцами: Column_A и Column_B.На основе этой таблицы должна быть создана другая таблица, в которой Column_A остается неизменным, но изменяется столбец B.
Column_A | Column_B Column_A | New_Column_B
-------------------- --------------------------
1 | 3 1 | 9
2 | 8 2 | 19
3 | 9 ==> 3 | 9
5 | 12 5 | 12
8 | 17 8 | 19
17 | 19 17 | 19
Для каждой строки мы проверяем Column_B, присутствует ли она в Column_A?
Да?посмотрите на Column_B, присутствует ли он в Column_A?
Да, .... значение из Column_B добавляется в новый столбец для последнего совпадения между Column_B и Column_A.
В column_A + нет дубликатовВсего около 1 миллиона строк.Какой самый эффективный способ написать это в SQL для Netezza?
Я попробовал запрос ниже, он работает для одного случая, когда B соответствует A. Но не для Netezza.
SELECT Column_A,
coalesce(
(
SELECT Column_B
FROM Collapsed c2
WHERE c1.Column_B=c2.Column_A
),Column_B
) as B
FROM Collapsed c1;