cube-js/cube

How to join same table twice ?

オープン

#3,692 opened on 2021/11/17

 (8 件のコメント) (1 件のリアクション) (1 人の担当者)Rust (1,965 件のフォーク)batch import
help wanted

Repository metrics

Stars
 (19,563 個のスター)
PR merge metrics
 (PR metrics pending)

説明

Problem

Want to join same table twice, but the key must be the cube name

Related Cube.js schema

// how to avoid this ?
cube(`CalleeUsers`, {
  extends: Users,
});

cube(`PhoneCallEvents`, {
  sql: `SELECT * FROM public.phone_call_events`,
  joins: {
    // want to use the key as CallerUser, but CallerUser cube not exists
    Users: {
     toCude: Users, // maybe support specify the target cube in here ?
      relationship: `belongsTo`,
      sql: `${PhoneCallEvents}.caller_object_id = ${Users}.id`,
    },
    // above cube make this work
    CalleeUsers: {
      relationship: `belongsTo`,
      sql: `${PhoneCallEvents}.callee_object_id = ${CalleeUsers}.id`,
    },
  },
}
)

New to cubejs, don't know if there is a way to handle join same table twice.

コントリビューターガイド