как я могу выбрать ненулевые значения из таблицы...
позволяет таблицу изображений следующим образом:
master_id | date_update | name | dpt | channel | source | active
---------------------------------------------------------------------------
1 | 1/2/2015 15:43:21 | NULL | NULL | NULL | NULL | y
1 | 1/2/2015 15:43:21 | NULL | FIN | NULL | NULL | n
1 | 1/2/2015 15:40:16 | Elvis | NULL | NULL | NULL | n
1 | 1/2/2015 15:26:38 | NULL | NULL | CH1 | NULL | n
1 | 1/2/2015 14:57:02 | NULL | NULL | NULL | S1 | n
5 | 2/2/2015 15:28:02 | NULL | NULL | CH2 | NULL | y
5 | 1/2/2015 10:13:01 | Sarah | NULL | NULL | NULL | n
Результат, который я хотел бы получить, это:
master_id | date_update | name | dpt | channel | source | active
---------------------------------------------------------------------------
1 | 1/2/2015 15:43:21 | Elvis | FIN | CH1 | S1 | y
5 | 2/2/2015 15:28:02 | Sarah | NULL | CH2 | NULL | y
Вы можете заметить, что столбец DATE_UPDATE и ACTIVE является последним...
Какой метод самый оптимизированный? Я попробовал комбинацию listagg (чтобы объединить строки в одну), а затем получить последнюю информацию с помощью row_number() over() или max() over() но я не уверен, что это лучшее решение для повышения производительности... соединения также не лучшее решение (потому что мне нужно объединить 17 столбцов)..
master_id
данные будут разреженными по отношению к значениямNULL
, а это означает, что в этом столбце будет только одно значение, отличное отNULL
? Кроме того, всегда ли вы выбираете последнююdate_update
для каждойmaster_id
группы? - person Tim Biegeleisen   schedule 02.02.2016