#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. Это было очень полезно, я сталкиваюсь с ошибкой, когда пытаюсь запустить его, Пропуская столбцы. Ваша помощь должна быть достаточно полезной для меня, чтобы я мог разобраться в этом отсюда. Спасибо.