Как легко перечислить столбцы в BigQuery - PullRequest
0 голосов
/ 20 сентября 2018

У меня есть таблица с большим количеством столбцов в BigQuery.Я хочу перечислить его столбцы в запросе выбора, но перечислить все столбцы сложно.

Я хочу сделать это

SELECT
  col1,
  col2,
  col3,
  ...
  SOME_METHOD(col30),
  ...
  col50
FROM
 foo.bar;

Есть ли способы легко написать такой запрос?

Ответы [ 2 ]

0 голосов
/ 20 сентября 2018

Ниже для BigQuery Standard SQL

SELECT * EXCEPT(col30), SOME_METHOD(col30)
FROM foo.bar  

или

SELECT * REPLACE(SOME_METHOD(col30) as col30)
FROM foo.bar  

, например

#standardSQL
WITH `project.dataset.table` AS (
  SELECT 1 col1, 2 col2, 3 col3, 4 col4, 5 col5
)
SELECT * EXCEPT(col3), 2 * col3 AS col3
FROM `project.dataset.table`

с результатом

Row col1    col2    col4    col5    col3     
1   1       2       4       5       6    

или

#standardSQL
WITH `project.dataset.table` AS (
  SELECT 1 col1, 2 col2, 3 col3, 4 col4, 5 col5
)
SELECT * REPLACE(2 * col3 AS col3)
FROM `project.dataset.table`

с результатом

Row col1    col2    col3    col4    col5     
1   1       2       6       4       5    
0 голосов
/ 20 сентября 2018

Это не проверено в Big Query, но есть один прием, который доступен в других базах данных, таких как SQL Server, - это сделать SELECT *, но затем перечислить другие элементы, которые вы хотите выбрать.Таким образом, вы можете попробовать одно из следующих действий:

SELECT *, SOME_METHOD(col30) AS output
FROM yourTable;

или

SELECT SOME_METHOD(col30), * AS output
FROM yourTable;

Обратите внимание, что в зависимости от того, что вы явно перечислите, вы можете получить тот же столбец (и имя) появляется более одного раза в наборе результатов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...