NULL, если столбец не существует в Impala

Мне нужна логика, в которой, если col1 отсутствует в исходной таблице, он должен загружать Null, иначе, если столбец существует, он должен загружать данные в соответствии с исходной таблицей, это означает, что он не должен выдавать ошибку, такую ​​как «Столбец не найден», когда столбец не найден в источнике table.Can Кто-нибудь, пожалуйста, помогите мне в этом.

CASE trim (table1.col2) WHEN '' THEN NULL ELSE trim (table1.col2) END As Carrier

Я делаю апсерт в целевые таблицы и использую импалу

Загрузить NULL во что? Примеры данных и желаемые результаты помогут. Вы пытаетесь изменить таблицу? Вернуть набор результатов? Обновить существующие данные?

Gordon Linoff 06.04.2021 13:35

Я делаю свежую загрузку и использую команду Upsert, где я собираю данные из разных исходных таблиц и загружаю в целевую таблицу. Итак, одна из исходных таблиц = "table1" не имеет столбца col2. Мне нужна логика, в которой я могу игнорировать «Столбец не найден» и поместите его как null в поле «Carrier» целевой таблицы. Потому что в будущем, когда col2 присутствует в исходной таблице = 'table1', данные будут заполняться в целевой таблице всякий раз, когда происходит обновление

Rocky 06.04.2021 13:47

Я не уверен на 100% в требованиях, но можете ли вы попробовать этот CAST(CASE trim(table1.col2) WHEN ' ' THEN NULL ELSE trim (table1.col2) END as STRING) as Carrier

Koushik Roy 06.04.2021 15:26

@KoushikRoy Но мне не нужно получать col2 не существует, поскольку ** col2 не существует в table1 **. Его следует игнорировать и заменить на NULL.

Rocky 06.04.2021 15:36

Вы говорите, что у вас есть несколько исходных таблиц, но не все они имеют одинаковые столбцы? Если это так, выберите из каждой таблицы, используя NULL, везде, где есть отсутствующий столбец, и объедините все операторы выбора вместе.

NickW 07.04.2021 01:46

@NickW У меня проблема только с одной исходной таблицей, а не с другими. Разве мы не можем добиться этого с помощью Заявления об условиях случая?

Rocky 07.04.2021 08:32

Нет, не можешь. Если в таблице нет столбца, вы не можете написать sql для этой таблицы, которая ссылается на этот несуществующий столбец. Вам нужно написать что-то вроде: SELECT *, null как COL2 FROM TABLE1

NickW 07.04.2021 10:10
ReactJs | Supabase | Добавление данных в базу данных
ReactJs | Supabase | Добавление данных в базу данных
Это и есть ваш редактор таблиц в supabase.👇
Понимание Python и переход к SQL
Понимание Python и переход к SQL
Перед нами лабораторная работа по BloodOath:
0
7
28
0

Другие вопросы по теме