У меня есть таблица с несколькими столбцами, которые могут быть нулевыми или иметь значение.Я хотел бы получить только те столбцы со значением.
Я пытался с IF
в предложении SELECT
:
SELECT
IF(column1 IS NOT NULL, column1, null AS value,
IF(column2 IS NOT NULL, column2, null AS value,
IF(column3 IS NOT NULL, column3, null AS value,
IF(column4 IS NOT NULL, column4, null AS value,
IF(column5 IS NOT NULL, column5, null AS value,
IF(column6 IS NOT NULL, column6, null) AS value
FROM
table1;
, но это не тот результат, который я хочу, потому чтоо том, что я объяснил в начале.Я также пытался с CASE
, но с тем же результатом.
Редактировать:
Например, допустим, у нас есть эта таблица.Столбец 1 будет всегда отображаться.
COLUMN1 COLUMN2 COLUMN3 COLUMN4 COLUMN 5
--------------------------------------------
NAME1 NULL VALUE VALUE NULL
NAME2 VALUE NULL VALUE NULL
NAME3 VALUE VALUE NULL VALUE
Используя всегда один и тот же запрос и просто изменяя это WHERE
предложение ...WHERE COLUMN1 LIKE 'NAME1';
Я бы хотел следующий вывод
COLUMN1 COLUMN3 COLUMN4
-------------------------
NAME1 VALUE VALUE
Другой пример: ...WHERE COLUMN1 LIKE 'NAME3';
COLUMN1 COLUMN2 COLUMN3 COLUMN 5
-----------------------------------
NAME3 VALUE VALUE VALUE