将 Teradata SQL 转换为 BigQuery SQL
Convert Teradata SQL to BigQuery SQL
如何将以下 sql 转换为 bigquery?
SELECT
MAX(var1)*2 as name1,
name1+11 as name2
FROM table
在 bigquery 中,如果我在上面的行中声明了 name1,我将无法使用它。
我知道我可以做到这一点,但是当 sql 很大时需要更改很多,可能还有其他更简单的选择。
SELECT
MAX(var1)*2 as name1,
MAX(var1)*2+11 as name2
FROM table
您不能以这种方式在 BigQuery 上重复使用别名,您将不得不重复完整的表达式或子查询。假设前一个选项:
SELECT MAX(var1)*2 AS name1,
MAX(var1)*2 + 11 AS name2
FROM yourTable;
唯一的其他选择是子查询:
WITH cte AS (
SELECT MAX(var1)*2 AS name1
FROM yourTable
)
SELECT name1, name1 + 11 AS name2
FROM cte;
但是从性能的角度来看,子查询版本比第一个版本增加了成本。您可能应该重复别名表达式 除非 您确实需要重复很多代码。
如何将以下 sql 转换为 bigquery?
SELECT
MAX(var1)*2 as name1,
name1+11 as name2
FROM table
在 bigquery 中,如果我在上面的行中声明了 name1,我将无法使用它。
我知道我可以做到这一点,但是当 sql 很大时需要更改很多,可能还有其他更简单的选择。
SELECT
MAX(var1)*2 as name1,
MAX(var1)*2+11 as name2
FROM table
您不能以这种方式在 BigQuery 上重复使用别名,您将不得不重复完整的表达式或子查询。假设前一个选项:
SELECT MAX(var1)*2 AS name1,
MAX(var1)*2 + 11 AS name2
FROM yourTable;
唯一的其他选择是子查询:
WITH cte AS (
SELECT MAX(var1)*2 AS name1
FROM yourTable
)
SELECT name1, name1 + 11 AS name2
FROM cte;
但是从性能的角度来看,子查询版本比第一个版本增加了成本。您可能应该重复别名表达式 除非 您确实需要重复很多代码。