У меня есть выбор, и ответ на него показывает мне такие данные:
field 1 | field 2 | field 3 | field 4
--------------------------------------
red | null | null | null
null | blue | null | null
null | null | green | null
null | null | null | yellow
Это как покровитель, и так всегда.
Я пытаюсь получить данные только в одной строке, избегая nulls, но я так потерялся, что не знаю, как это сделать.
Как это:
field 1 | field 2 | field 3 | field 4
--------------------------------------
red | blue | green | yellow
Может ли кто-нибудь помочь мне или дать несколько советов?
Заранее спасибо.
Вы имеете в виду что-то вроде select max(field1), max(field2), max(field3), max(field4) from (your query)?
@Paplusc - ответ выше в порядке, если вы уверены, что существует единственное значение, равное <> null для каждого столбца. Если это не так - в результирующем наборе будут отсутствовать данные. Если вы не уверены в данных, вместо MAX() вам следует использовать LISTAGG(), чтобы получить все ненулевые операторы в наборе результатов.


Вы можете использовать функцию MIN или MAX, чтобы сделать это.
если вы хотите, чтобы строки не содержали NULL
select MIN(field1), MIN(field2), MIN(field3), MIN(field4)
from T
sqlfiddle: http://sqlfiddle.com/#!9/2d077d/1
Он сделал свою работу, я мог исправить это с помощью MAX (). :) большое тебе спасибо!
Вам необходимо предоставить некоторую информацию о вашем выборе.