Я пытаюсь вернуть Col1 в качестве значения для списка, ЕСЛИ Col2 = NULL

#sql #oracle #oracle-apex

Вопрос:

Я пытаюсь вернуть все значения Col1, ЕСЛИ соответствующее значение Col2 = NULL, я подумал о том, если Col2 = NULL Вернет КОНЕЦ Col2, ЕСЛИ, Но я не уверен в том, как это отформатировать, потому что при запуске я получаю ошибки, указывающие на недопустимый реляционный оператор. Спасибо, что уделили мне время.

ВЫБЕРИТЕ Col1 ИЗ моей таблицы, ГДЕ, ЕСЛИ ЗНАЧЕНИЕ NULL Col2 = 0;


ЕСЛИ Col2 = NULL, ВЕРНИТЕ COL1, ИНАЧЕ КОНЕЦ, ЕСЛИ;

================================================================ РЕДАКТИРОВАТЬ

Я приношу извинения за отсутствие информации/результатов исследований. Первый пост, поэтому я искал в Google разные операторы IF then для работы с нулевыми значениями. Все, что я нашел до сих пор, только показало, как игнорировать/конвертировать в 0, чтобы вы могли легко работать с ними. Ничего о том, как использовать их для возврата значений из другого col1

Комментарии:

1. Помогут примеры данных и желаемые результаты.

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

Ответ №1:

используйте ОБЪЕДИНЕНИЕ. он восстанавливает первое ненулевое значение

 SELECT

COALESCE(col1,col2) AS FINAL_COLUMN

FROM [TABLE NAME]
 

Комментарии:

1. Я приношу извинения, но я не вижу, как это позволит найти все нулевые значения в col2?

Ответ №2:

 SELECT Col1
FROM mytable
WHERE Col2 IS NULL
 

Не IF требуется. WHERE это SQL IF для выбора строки. Это возвращает только те строки, где Col2 есть null .


Если вы хотите вернуть все строки, но хотите вернуть Col1 , когда Col2 есть null и NULL в противном случае, используйте

 SELECT 
    CASE WHEN Col2 IS NULL THEN Col1 ELSE NULL END as myResultColumn
FROM mytable
 

Комментарии:

1. Это было очень полезно, я сталкиваюсь с ошибкой, когда пытаюсь запустить его, Пропуская столбцы. Ваша помощь должна быть достаточно полезной для меня, чтобы я мог разобраться в этом отсюда. Спасибо.