MySQL/Oracle/Teradata有SELECT ... INTO FROM ...
语句可以从表中获取值并将其分配给变量。在BigQuery中我该如何做到这一点?
SELECT
c1, c2, c3, ...
INTO
@v1, @v2, @v3,...
FROM
table_name
WHERE
condition;
MySQL/Oracle/Teradata有SELECT ... INTO FROM ...
语句可以从表中获取值并将其分配给变量。在BigQuery中我该如何做到这一点?
SELECT
c1, c2, c3, ...
INTO
@v1, @v2, @v3,...
FROM
table_name
WHERE
condition;
BigQuery 中的对应语句是从子查询中获取值的 SET
语句。
以下是一个示例:
SET (v1, v2, v3) = (SELECT AS STRUCT c1, c2, c3 FROM table_name WHERE condition LIMIT 1)
它的行为与所提出的查询完全相同。
请参阅文档中的更多示例。
LIMIT 1
- 如果子查询返回多行的情况下。 - Mikhail Berlyant我认为正确的方式应该是以下这样:
SET (v1, v2, v3) = (SELECT AS STRUCT c1, c2, c3 FROM table_name WHERE condition LIMIT 1)