2016-12-23 3 views
1

Мне интересно выполнить запрос, используя "group_concat" BigQuery function. Когда я выполнить запрос непосредственно в интерфейсе BigQuery, запрос завершается успешно, но когда я пытаюсь выполнить этот запрос через Node JS, появилась ниже сообщение об ошибке:Функция не найдена: group_concat

errors: 
    [ { domain: 'global', 
     reason: 'invalidQuery', 
     message: 'Function not found: group_concat at [4:3]', 
     locationType: 'other', 
     location: 'query' } ] 

код не является проблемой, так как он выполняет простой запрос без каких-либо проблем.

Мой запрос:

SELECT 
    st_hub_session_id, 
    num_requests, 
    group_concat(group.code, '|') as Codes 
FROM 
    table.name 
GROUP BY 
    st_hub_session_id, 
    group_concat 
LIMIT 
    1000 

Где может быть проблема?

ответ

1

Использование STRING_AGG в стандартном SQL вместо наследства GROUP_CONCAT. Вы можете использовать стандартный SQL через пользовательский интерфейс, сняв флажок «Использовать устаревший SQL» в разделе «Показать параметры» или поставить #standardSQL в верхней части вашего запроса. См. Также Enabling Standard SQL.

1

BigQuery имеет два режима SQL: стандартный SQL и устаревший SQL. Возможно, вы настроили приложение по умолчанию Standard SQL, а по интерфейсу запускает LegacySQL.

попробуйте запустить запрос с использованием Прагма

#legacySQL 
select group_concat(col) from (select '1' as col) 

функция GROUP_CONCAT доступна только в старой версии SQL, и это не является частью стандарта SQL 2011.