大家好!
最近在开发一个项目时,在使用CDC表和维表表做Temporal Table
JOIN时,发现2个表Join时join字段的类型必须一致,否则提交时提示如下的错误
The main method caused an error: Temporal table join requires an equality
condition on fields of table.....
为了解决上述问题,我们做了如下尝试:
1:在join时,对维表要关联的字段使用cast转换,如: JOIN ON CAST(tableA.filedA AS INT) =
cdc_table_b.fieldB,将2个关联表的关联字段类型保持一致
2:在维表上建立一个视图,在视图定义字段的类型和select时使用cast转换,然后视图和cdc表进行join,
此时join时字段类型理论上是一致的,
很可惜,上述2个解决办法未能解决问题,都是提示上述同样的错误(The main method caused an error: Temporal
table join requires an equality condition on fields of
table),如果在DDL中将维表要jion的字段和CDC表join的字段定义成相同的类型时,提交时不报上述错误,但在运行过程中处理数据时会出现castException,请教下大家上述问题可以怎么解决?不胜感激!