Ksql: Support multiple joins in a single statement

Created on 14 Sep 2018  路  16Comments  路  Source: confluentinc/ksql

Currently KSQL only supports single joins in a statement. We should add the ability to join between multiple objects in a single query.

This works:

 select                                                                 \
    d.DocumentName, d.FileExtension, dv.ViewedAt                               \
  from documentViewStream  dv                                           \
  inner join documentTable d                                            \
    on dv.DocumentID = d.DocumentID;

But it would be better if we supported;

select \ u.UserName, d.DocumentName, d.FileExtension, dv.ViewedAt \ from documentViewStream dv \ inner join documentTable d \ on dv.DocumentID = d.DocumentID; inner join userTable u \ on uv.UserID = dv.UserID;

The above query currently throws mismatched input 'inner' expecting ';' (#1612 for improving the message)

In this example it would be a STREAM-TABLE-TABLE join. Currently the workaround would be to resolve the joins separately in multiple queries.

P0 data-accessibility enhancement join-functions popular

Most helpful comment

We're starting to work on this. 鉂わ笍

All 16 comments

I was wondering if this issue has been fixed? If not is there is a timeline on this? thank you

@rmoff I have the same scenario. We are getting into KAFKA streams and we have multiple table joins scenario. Any idea on when this will be addressed?

+1

This would be really great to have multi-joins. Otherwise i have to spam kafka with additional intermediate topics which don't have meanin on it's own and brings headache to our team responsible for kafka cluster :)

+1

+1 desperately

+1
reducing the need to create intermediately topics will help in our adoption

+1

+1. Is this functionality available?

+1

We're starting to work on this. 鉂わ笍

In which version of ksqldb will this be published?

@alenpesikan 0.9.0, which will be out in a couple of days.

For people not following release version changes by confluent: what does 0.9.0 mean if we have 5.4.1 now?

Here's a quick explanation. We published a version compatibility matrix on Confluent's site. We're going to add a page to ksqldb.io to make the relationship extra clear - it's admittedly a little confusing now.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

OferLahav picture OferLahav  路  4Comments

selvakumarEsra picture selvakumarEsra  路  4Comments

sofianinho picture sofianinho  路  4Comments

apurvam picture apurvam  路  3Comments

gangadhar01a picture gangadhar01a  路  3Comments