Я пытаюсь получить первое ненулевое значение в множестве из многих столбцов. Я знаю, что я мог бы выполнить это, используя подзапрос в столбце. Во имя производительности, которая действительно учитывается в этом сценарии, я хотел бы сделать это за один проход.
Возьмем следующие данные примера:
col1 col2 col3 sortCol
====================================
NULL 4 8 1
1 NULL 0 2
5 7 NULL 3
В запросе моей мечты будет найдено первое ненулевое значение в каждом столбце данных, отсортированном по sortCol
.
Например, при выборе магической совокупности первых трех столбцов, отсортированных по убыванию sortCol
.
col1 col2 col3
========================
5 7 0
Или при сортировке по возрастанию:
col1 col2 col3
========================
1 4 8
Кто-нибудь знает решение?