clickhouse中带between条件的sql连接表

oyxsuwqo  于 2021-07-26  发布在  Java
关注(0)|答案(1)|浏览(2291)

我发现加入clickhouse只支持相等的表达式。但我需要在clickhouse中加入两个“中间”条件的大表。
如何实现这个逻辑?

  1. select a.*, b.name
  2. from a
  3. join b
  4. on a.id = b.id
  5. and a.start_dt between b.start_dt and b.end_dt;

出现错误
代码:403,e.displaytext()=db::exception:join on的表达式无效。应为equals表达式。。。

zvokhttg

zvokhttg1#

试试这个:

  1. select a.*, b_name
  2. from (
  3. select a.*, b.name AS b_name, b.start_dt AS b_start_dt, b.end_dt AS b_end_dt
  4. from a join b using id
  5. where a.start_dt between b_start_dt and b_end_dt
  6. )

查看clickhouse join with condition中的一些连接细节。

相关问题