Hi,维表关联出来多条数据是符合预期的,维表本来的语义就是可以join出0到多条都有可能,需要看你的数据。

你的主表的流里面note_id会有重复么?没有重复的话,直接group by求count应该是可以的。

867127831 <867127...@qq.com> 于2020年5月9日周六 下午7:10写道:

> Hi,&nbsp;
>
>
> 在使用flink做lookup join时,如果左表的一条记录关联出右表的多条记录,这个时候该怎么处理? 比如有如下两个表:
>
>
> 主表(笔记表):note(note_id varchar)
> 维表(图片表):picture(pic_id varchar, note_id varchar)
>
>
> 一篇笔记会有多张图片,所以一条note记录对应了多条picture记录,现在要实时统计出每一个note有多少张picture, 我的sql是这样的:
>
>
> select
> &nbsp; N.note_id as note_id,
> &nbsp; COUNT(P.pic_id) AS img_count&nbsp;
> from note N
> LEFT JOIN picture FOR SYSTEM_TIME AS OF N.proc_time AS P ON N.note_id =
> P.note_id
> group by N.note_id
>
>
>
> 如果不使用group by语法,有没有其它途径实现这个目的呢?



-- 

Benchao Li
School of Electronics Engineering and Computer Science, Peking University
Tel:+86-15650713730
Email: libenc...@gmail.com; libenc...@pku.edu.cn

回复