在 BigQuery 中使用 pivot
时,可能会出现“无效的字段名”(Invalid field name)的错误。这通常是因为在 SELECT
子句中使用了与 pivot
子句中不同的别名或缺少必需的别名。
解决此问题的方法是在 SELECT
子句中使用与 pivot
语句中定义的别名相同的字段名。以下是一个例子:
SELECT department,
COALESCE(SUM(CASE WHEN year = 2020 THEN revenue END), 0) AS revenue_2020,
COALESCE(SUM(CASE WHEN year = 2021 THEN revenue END), 0) AS revenue_2021,
COALESCE(SUM(CASE WHEN year = 2020 THEN profit END), 0) AS profit_2020,
COALESCE(SUM(CASE WHEN year = 2021 THEN profit END), 0) AS profit_2021
FROM my_table
PIVOT (
SUM(revenue), SUM(profit)
FOR year IN (2020, 2021)
)
GROUP BY department;
在上面的代码中,SELECT
子句中的字段名与 pivot
子句中定义的别名相同,因此避免了“无效的字段名”错误。