The syntax
create table L( lts timestamp(3), f0 int, f1 bigint, f2 varchar(20), watermark for lts as lts - '10' second ) with ( 'connector' = 'my-connector' ... ) create table R( rts timestamp(3), f0 int, f1 bigint, f2 varchar(20), watermark for rts as rts - '10' second ) with ( 'connector' = 'my-connector' ... ) select * from table(tumble(table L, descriptor(lts), INTERVAL '5' MINUTE)) ll join table(tumble(table R, descriptor(rts), INTERVAL '5' MINUTE)) rr on ll.window_start = rr.window_start and ll.window_end = rr.window_end -- should this be optional ? and ll.f0 = rr.f0