学说查询生成器中的嵌套选择查询

Posted

技术标签:

【中文标题】学说查询生成器中的嵌套选择查询【英文标题】:Nested select query in doctrine query builder 【发布时间】:2016-04-02 01:47:28 【问题描述】:

在 Symfony2 项目中:

select * from
(
    select
        p.name as product, u.id, u.name
    from user u
    left join product_purchase pp on pp.user_id = u.id
    left join product p on pp.product_id = pp.product_id
    where p.type = 'something'
    order by p.id desc
) as up
group by up.id;

这是我想用 Doctrine Query Builder 构建的简化查询,但还没有找到解决方案。重要的是在对结果进行分组之前对加入进行排序。任何帮助将不胜感激。

【问题讨论】:

您的示例中的up.id 应该是什么?是子查询中的u.id 吗?您能否举例说明您的数据库中的数据是什么样的以及您希望返回什么结果? 【参考方案1】:

这是一个可以帮助你的例子,因为投票和检查良好的反应。他在第一个 qb 中使用第二个 queryBuilder var 和 $qb->expr()->in( :subquery in queryBuilder Doctrine

【讨论】:

感谢指出答案;我曾尝试在->from 中使用第二个查询构建器,但没有成功

以上是关于学说查询生成器中的嵌套选择查询的主要内容,如果未能解决你的问题,请参考以下文章

将自定义函数添加到学说查询生成器按子句分组

使用 laravel 查询生成器嵌套选择?

将学说查询生成配置为小写

使用错误表别名生成查询的学说

如何在学说 2 中创建对象属性的查询构建器

Symfony - 在学说查询构建器中使用 orWhere()