operator = 参数类型没有匹配的签名

No matching signature for operator = for argument types

我想用一个简单的左外连接连接两个表。

我尝试了以下方法:

SELECT * 
FROM `database-dev.test_te.crawl_index_2022` as A 
LEFT OUTER JOIN `database-dev.test_te.crawl_detail_2022` AS B ON A.spec_id = B.spec_id 
LIMIT 1000;

我想使用 AS 缩短部分 database-dev.test_te.crawl_index_2022

但是,我收到以下错误消息:

No matching signature for operator = for argument types: INT64, STRING. Supported signature: ANY = ANY at [4:82]

对我做错了什么有什么建议吗?

很有可能

  • A.spec_id 是整数,B.spec_id 是字符串。

所以你需要使用 CAST(B.spec_id as INT64)