我有两张桌子。 第一个表包含键值数据:
Answer_Code |Fruit
1 |Apple
2 |Orange
3 |Pear
4 |Watermelon
第二个表包含收集的数据
Participant|Fruit
Aaa |1
Bbb |2
Ccc |3
如何连接这些表,以便第二个表中的Fruit列将替换为第一个表中的Fruit值?
Participant|Fruit
Aaa |Apple
Bbb |Orange
Ccc |Watermelon
我尝试了以下内容:
SELECT T1.*, T2.*,
FROM [Table1] T1,
JOIN [Table2] T2 ON T1.Fruit = T2.Fruit,
LIMIT 10;
我收到以下错误:
ON子句必须是AND =每个表中一个字段名称的比较,所有字段名称都以表名为前缀。考虑使用标准SQL .google.com / bigquery / docs / reference / standard-sql /),它允许不相等的JOIN和涉及表达式和残差谓词的比较。 的
此外,我无法获得UPDATE,SET来处理bigquery。
答案 0 :(得分:1)
你的ON条款不正确
而不是ON T1.Fruit = T2.Fruit
你应该ON T1.Answer_Code = T2.Fruit
您的查询中还有一些额外的逗号
无论如何,您的查询应如下所示
SELECT T2.Participant, T1.Fruit
FROM [Table1] T1
RIGHT JOIN [Table2] T2 ON T1.Answer_Code = T2.Fruit
LIMIT 10
还建议将migrate
用于BigQuery标准SQL - 标准SQL是查询存储在BigQuery中的数据的首选SQL方言,并且还有多个advantages
,包括DML
,因此您可以{ {1}}