下面是一个示例代码,说明如何使用BigQuery将两个表的列整理到一个表中,并且只获取表2中的唯一行。
-- 创建表1
CREATE TABLE dataset.table1 (
id INT64,
column1 STRING,
column2 STRING
);
-- 向表1插入数据
INSERT INTO dataset.table1 (id, column1, column2)
VALUES (1, 'A1', 'B1'),
(2, 'A2', 'B2'),
(3, 'A3', 'B3');
-- 创建表2
CREATE TABLE dataset.table2 (
id INT64,
column3 STRING,
column4 STRING
);
-- 向表2插入数据
INSERT INTO dataset.table2 (id, column3, column4)
VALUES (1, 'C1', 'D1'),
(2, 'C2', 'D2'),
(3, 'C3', 'D3'),
(4, 'C4', 'D4');
-- 使用JOIN将两个表的列整理到一个表中,并且只获取表2中的唯一行
SELECT t1.id, t1.column1, t1.column2, t2.column3, t2.column4
FROM dataset.table1 t1
JOIN (
SELECT id, column3, column4
FROM dataset.table2
GROUP BY id, column3, column4
) t2 ON t1.id = t2.id;
上述代码中,首先创建了两个表 table1 和 table2,并向它们分别插入了一些数据。然后使用 JOIN 操作将两个表的列整理到一个表中,并且在表2上使用了 GROUP BY 子句以获取唯一行。最后,通过 SELECT 语句选择所需的列并从整理后的表中获取结果。
请确保将代码中的 "dataset" 替换为您实际使用的数据集名称。