我正在编写一个查询来比较今年提交的当年和我在BigQuery string((year(current_date())))
中使用此命令。
我收到行" ON clause must be AND of = comparisons of one field name from each table, with all field names prefixed with table name. ."
的{{1}}错误,因为它没有比较表中的列而只是使用来自时间戳的月份。有工作吗?
(d.month) = String(Month((order.order_timestamp)))
答案 0 :(得分:1)
这里的主要问题是您正在将标准SQL与旧版SQL混合使用 将SQL Mode设置为Standard并不会将Legacy SQL神奇地转换为标准SQL。例如,INNER JOIN EACH,[dataset.table]概念,YEAR(),INTEGER()等都来自旧版SQL,标准SQL不支持
因此,您实际上需要将代码转换为标准SQL - 有关详细信息,请参阅Migrating from legacy SQL