在BigQuery中进行自连接操作,可以使用子查询或者CTE(通用表达式)来解决。以下是两种方法的代码示例:
SELECT t1.column1, t2.column2
FROM table1 AS t1, table1 AS t2
WHERE t1.join_column = t2.join_column;
在这个示例中,我们将表1自连接,并根据join_column列进行连接。通过将表1别名为t1和t2,我们可以在WHERE子句中指定连接条件。
WITH cte AS (
SELECT column1, join_column
FROM table1
)
SELECT t1.column1, t2.column2
FROM cte AS t1, cte AS t2
WHERE t1.join_column = t2.join_column;
在这个示例中,我们首先使用CTE(通用表达式)创建了一个临时表cte,包含了需要连接的列。然后我们使用cte作为别名t1和t2,并在WHERE子句中指定连接条件。
无论你选择使用子查询还是CTE,都可以在BigQuery中解决自连接问题。请根据你的实际需求选择适合你的方法。