我试图在连接字段上运行具有较低功能的反连接。
例如(示例查询是无意义的,但它确实重现了问题):
SELECT word FROM [publicdata:samples.shakespeare]
where lower(word) not in
(select lower(corpus) from publicdata:samples.shakespeare)
BigQuery返回错误:
Error: Expression on the left side of IN has to be a field. Found LOWER.
我无法在文档中找到有关此类限制的任何内容。
答案 0 :(得分:3)
这个有用......
SELECT word,lower(word) as lword
FROM [publicdata:samples.shakespeare]
having lword not in
(select lower(corpus) from publicdata:samples.shakespeare)
在Join中使用函数有限制。根据我的经验,BQ编译“Anti Join”具有与Join相同的限制。