您好,我在 BigQuery 中有两个表:
表A:consumerID,consumerSegment
表B:消费者ID
我想做的就是用“found”更新 TableA.consumerSegment,其中 TableA.consumerID=TableB.consumerID
我正在使用这个语句,但作为回报,我收到一个错误:
UPDATE `MyTableLongNameA` AS TableA
SET TableA.consumerSegment = "Found"
FROM `MyTableLongNameB` AS TableB
WHERE TableA.consumerID = TableB.ConsumerID
Run Code Online (Sandbox Code Playgroud)
错误是:
标量子查询产生多个元素
任何帮助表示赞赏。
谢谢
TableB这表明中的某个键有多个匹配项TableA。从文档中:
如果表中要更新的行与 FROM 子句中的一行恰好连接,则该行将被更新。
如果要更新的表中的一行与 FROM 子句中的多行连接,则查询会生成运行时错误。
试试这个:
UPDATE `MyTableLongNameA` AS TableA
SET TableA.consumerSegment = "Found"
WHERE EXISTS (
SELECT 1
FROM `MyTableLongNameB` AS TableB
WHERE TableA.consumerID = TableB.ConsumerID
)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10166 次 |
| 最近记录: |