Member 11337367 Ответов: 1

Как получить ненулевые значения из строки с помощью SQL?


У меня есть таблица со следующими данными в таблице.
Кола, колб,Колк
1, NULL, NULL
NULL, 1, NULL
НУЛЬ, НУЛЬ, 1

Мне нужен вывод, как показано ниже

1,1,1

Что я уже пробовал:

выберите coalesce(colun)

Я был бы признателен, если бы кто-нибудь помог мне получить желаемый результат. какая функция поможет в этом.

Kornfeld Eliyahu Peter

А что, если ваши данные
НУЛЬ, НУЛЬ, НУЛЬ
NULL, 1, NULL
НУЛЬ, НУЛЬ, НУЛЬ

???

Member 11337367

Он должен работать для всех сценариев ОС типа
как и любой столбец или имеющий ненулевые значения shoud приходит из запросов

Kornfeld Eliyahu Peter

Но согласно вашему образцу, если столбец имеет нулевые значения в каждой строке, он вообще не должен отображаться в таблице результатов!

Member 11337367

да, это то, что я хотел, только ненулевые значения из всех столбцов таблицы

1 Ответов

Рейтинг:
9

OriginalGriff

Один из способов сделать это:

SELECT a.cola, b.colb, c.colc FROM MyTable a
JOIN MyTable b on b.colb IS NOT NULL
JOIN MyTable c on c.colc IS NOT NULL
WHERE a.cola IS NOT NULL

Насколько хорошо это масштабируется для вашего реального приложения, зависит от вашего реального дизайна таблицы и данных, и мы понятия не имеем, как это выглядит.