Querydsl在同一张表上多次联接

乔希

假设我有两个表TaskCompanyCompany有列idnameTask有两列customerIdproviderId它们链接回的idCompany

使用Querydsl如何在Company上加入两次,以便可以获取name指定的每个公司的customerIdproviderId

也许可以更好地解释我正在尝试的代码:

Configuration configuration = new Configuration(templates);
JPASQLQuery query = new JPASQLQuery(this.entityManager, configuration);

QTask task = QTask.task;
QCompany customer = QCompany.company;
QCompany provider = QCompany.company;

JPASQLQuery sql = query.from(task).join(customer).on(customer.id.eq(task.customerId))
    .join(provider).on(provider.id.eq(task.providerId));

return sql.list(task.id, customer.name.as("customerName"), provider.name.as("providerName"));

生成SQL:

select task.id, company.name as customerName, company.name as providerName from task join company on company.id = task.customerId

我真的很希望这样:

select task.id, customer.name as customerName, provider.name as providerName from task join company as customer on customer.id = task.customerId join company as provider on provider.id = task.providerId

我不知道如何为要加入的表加上别名,以便区分客户名和提供商名。我尝试这样做,new QCompany("company as provider")但是没有用。有人知道该怎么做吗?

蒂莫·韦斯特坎珀

如果您需要变量,请执行以下操作

QCompany customer = new QCompany("customer");
QCompany provider = new QCompany("provider");

重新分配默认变量QCompany.company无济于事

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

MYSQL在同一张表上多次联接

来自分类Dev

同一张表上的多个联接

来自分类Dev

多次查询同一张表

来自分类Dev

多次连接同一张表

来自分类Dev

多次查询同一张表

来自分类Dev

在联接查询中多次引用同一张表中的记录?

来自分类Dev

如何使用ActiveRecord多次联接同一张表(ruby on rails)

来自分类Dev

MySQL查询内部联接在不同条件下的同一张表上

来自分类Dev

如何在mysql中的同一张表上执行内部联接

来自分类Dev

同一张表中有大量内部联接

来自分类Dev

在同一张表中的联接查询

来自分类Dev

SQL请求:联接同一张表

来自分类Dev

在同一张桌子上简单的左联接

来自分类Dev

内部多次连接同一张表

来自分类Dev

在同一张桌子上多次查询

来自分类Dev

使用同一表多次联接QueryDSL休眠

来自分类Dev

在同一张表上针对不同条件多次连接,而在汇总表中一次连接

来自分类Dev

多次加载同一张图片

来自分类Dev

多次连接同一张桌子

来自分类Dev

多次加载同一张图片

来自分类Dev

PostgreSQL 12:重叠运算符和联接在同一张表上的性能问题

来自分类Dev

如何在联接Laravel上从具有不同ID的同一张表中检索不同名称

来自分类Dev

MySQL子查询在同一张表上

来自分类Dev

同一张表上的外键

来自分类Dev

同一张postgres表上的多个cron作业

来自分类Dev

mysql中同一张表上的多个计数

来自分类Dev

同一张表上的多个SELECT

来自分类Dev

在同一张表上减去价格

来自分类Dev

同一张表上的内连接