那这样的话,用inner join是不是可以,保证订单表中的员工都在员工维表里,就能统计到所有员工在今天产生的所有订单量。

-------


夜思流年梦 wrote
> 是这样子的,比如要统计所有员工的今天的订单数量,如果是订单表left join 员工表的话,那么今天没有订单数量的就无法出现在结果表集合中;
> 把员工表放在左边left join 订单表的话那么就是所有员工的今天订单数量都会 出现
> 
> 
> 
> 
> 
> 在 2020-10-12 15:17:07,"caozhen" <

> caozhen1937@

> > 写道:
>>
>>我理解这个场景下  员工维表在右边没啥问题。
>>
>>join过程中需要去员工维表拿哪些字段?
>>
>>
>>
>>夜思流年梦 wrote
>>> 现在有一个场景: 一个员工维表,一个订单表(监听mysql binlog的一个流表),想实时计算出所有员工的订单数;
>>> 目前flink-sql 支持Join Temporal Tables  ,但是官方文档上是这么说的:仅支持带有处理时间的 temporal
>>> tables 的 inner 和 left join。
>>> 而这个场景必须是维表在左边,但实际情况是维表在左边无法进行left join :会报错:ClassCastException:
>>> org.apache.calcite.rel.logical.LogicalProject cannot be cast to
>>> org.apache.calcite.rel.core.TableScan;(如果是流表在左边,然后用temporal join
>>> 一个维表那么没有问题,即:left join 维表 FOR SYSTEM_TIME AS OF proctime)
>>> 想问下各位,碰到这类情况,大家是怎么处理的
>>
>>
>>
>>
>>
>>--
>>Sent from: http://apache-flink.147419.n8.nabble.com/





--
Sent from: http://apache-flink.147419.n8.nabble.com/

回复