Большой запрос прерывается при «сводке» — Недопустимое имя поля

# #sql #google-bigquery #pivot

Вопрос:

Я пытаюсь выполнить такой запрос, как этот:

 select *
from (
    select agent, text, expect
    from `my.table.runs`
)
pivot (
    min(expect) as expect,
    min(agent) as agent
    for agent in ("august-mr")
)   
 

но получение ошибки

Недопустимое имя поля «expect_august-mr».

Если я использую имя агента с подчеркиванием, как august_mr это работает нормально. Таким образом, значения в моих данных нарушают запрос.

Есть ли обходной путь для этого?

Комментарии:

1. "august-mr" является идентификатором с разделителями, например, именем столбца. Используйте одинарные кавычки для строковых литералов, например 'august-mr' .

2. похоже, это ничего не исправит.

Ответ №1:

вы можете добавить псевдоним в такие поля

 select *
from (
    select agent, text, expect
    from `my.table.runs`
)
pivot (
    min(expect) as expect,
    min(agent) as agent
    for agent in ("august-mr" as august_mr)
)