【问题标题】:How to represent Self join in Apache Metamodel using JdbcContext?如何使用 JdbcContext 在 Apache Metamodel 中表示 Self join?
【发布时间】:2020-04-30 11:07:46
【问题描述】:

假设我有一个employee 表,其中包含以下字段id, name, email, phone, joining_date, manager, department。现在,在此表中,manager 字段可用于创建自联接并得到一个结果集,该结果集显示员工 e1 向经理 m1 报告。我如何使用JdbcDataContextQuery POJO 来表示这个?这里的任何指示都会很有帮助。

【问题讨论】:

    标签: join jdbc self-join apache-metamodel


    【解决方案1】:

    您可以像 MetaModel 中的任何其他联接一样进行自联接。这是一个例子:

    DataContext dc = ...
    Table t = dc.getDefaultSchema().getTableByName("employees");
    FromItem left = new FromItem(t).setAlias("e1");
    FromItem right = new FromItem(t).setAlias("e2");
    SelectItem id = new SelectItem(t.getColumnByName("id"), left);
    SelectItem name = new SelectItem(t.getColumnByName("name"), left);
    SelectItem manager = new SelectItem(t.getColumnByName("id"), right);
    SelectItem managerName = new SelectItem(t.getColumnByName("name"), right);
    DataSet ds = dc.query().from(left).innerJoin(right).on(id, manager).select(name, managerName).execute()
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-06-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多