doctrine: HAVING clause in DQL query
-
I am working on a simple forum in symfony2 and have the following DQL query to get the last posts in each forum: SELECT p, f.id FROM MyBundle:Post p JOIN p.forum f GROUP BY p.forum HAVING p.created_at >= MAX(p.created_at) Without the HAVING clause it works and fetches the first posts but thats not what I want. What am I doing wrong here? Is this even possible using DQL?
-
Answer:
Of course it was my fault and not DQL's. :) The updated query is a bit more complex and requires a Subquery. If Someone has a better way to do this, please let me know. SELECT post, f.id as forum_id FROM MyBundle:Post post JOIN post.forum f WHERE post.id in ( SELECT MAX(p.id) FROM MyBundle:Post p GROUP BY p.forum ) http://www.xaprb.com/blog/2006/12/07/how-to-select-the-firstleastmax-row-per-group-in-sql/ completed my fading sql knowledge.
maiwald at Stack Overflow Visit the source
Related Q & A:
- How to query by datetime in Doctrine MongoDB ODM?Best solution by Stack Overflow
- How to convert sql query to Hibernate Criteria query?Best solution by Stack Overflow
- How to convert my SQL query to MS Access query?Best solution by Stack Overflow
- How to write a complex query with doctrine?Best solution by Stack Overflow
- How to convert SQL query to LINQ query?Best solution by Stack Overflow
Just Added Q & A:
- How many active mobile subscribers are there in China?Best solution by Quora
- How to find the right vacation?Best solution by bookit.com
- How To Make Your Own Primer?Best solution by thekrazycouponlady.com
- How do you get the domain & range?Best solution by ChaCha
- How do you open pop up blockers?Best solution by Yahoo! Answers
For every problem there is a solution! Proved by Solucija.
-
Got an issue and looking for advice?
-
Ask Solucija to search every corner of the Web for help.
-
Get workable solutions and helpful tips in a moment.
Just ask Solucija about an issue you face and immediately get a list of ready solutions, answers and tips from other Internet users. We always provide the most suitable and complete answer to your question at the top, along with a few good alternatives below.