我正在尝试在重复的字段上运行连接。
最初我收到错误:
Cannot join on repeated field payload.pages.action
我通过在相关表上运行flatten来解决这个问题(这只是一个示例查询 - 如果成功运行它会给出空结果):
SELECT
t1.repository.forks
FROM publicdata:samples.github_nested t1
left join each flatten(publicdata:samples.github_nested,payload.pages) t2
on t2.payload.pages.action=t1.repository.url
我得到了一个不同的错误:
Table wildcard function 'FLATTEN' can only appear in FROM clauses
这曾经在过去工作过。是否有一些语法更改?
答案 0 :(得分:2)
我认为没有语法更改,但您应该能够将flatten语句包装在子选择中。也就是说,
SELECT
t1.repository.forks
FROM publicdata:samples.github_nested t1
left join each (SELECT * FROM flatten(publicdata:samples.github_nested,payload.pages)) t2
on t2.payload.pages.action=t1.repository.url