Выберите столбцы на основе условия в Snowflake - PullRequest
0 голосов
/ 13 июля 2020

Я пытаюсь найти решение для выбора столбцов в Snowflake на основе условия. Например, я хочу выбрать только столбцы, содержащие строку «id» или только столбцы numeri c.

Есть ли какое-либо решение для этих случаев?

С уважением

1 Ответ

0 голосов
/ 13 июля 2020

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

create or replace procedure column_list (TBL_NAME STRING, COL_TYPE STRING)
 returns string
language javascript

as
$$

  

  var sql_stmt = `select listagg(column_name,',') as col1 from snowflake.account_usage.columns 
where table_name = 'FOO' and table_schema = 'PUBLIC' and DATA_TYPE = '` + COL_TYPE + `' and DELETED IS NULL;`;
var create_log_table_stmt = snowflake.createStatement({ sqlText: sql_stmt });
var rs = create_log_table_stmt.execute();

  rs.next();
  var result = rs.getColumnValue(1);
  
  var final_query = "select " + result + " from " + TBL_NAME;
  return final_query;
$$
;

call column_list ('FOO', 'NUMBER');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...