My question is about translating a SQL query to the ORM.
The query is:
select q1.taskname, q1.count, q2.count, (q1.count + q2.count) as total from (
select ptt.name as taskname, count(1) from task pt
inner join tasktype ptt on pt.type_id = ptt.id
where pt.created >= '2022-11-05T00:00:00+00:00'::timestamptz
group by ptt.name) q1
left join (
select ptt.name as taskname, count(1) from task pt
inner join tasktype ptt on pt.type_id = ptt.id
where pt.completed >= '2022-11-05T00:00:00+00:00'::timestamptz
group by ptt.name) q2
on q1.taskname = q2.taskname
select ptt.name as taskname, count(1) from task pt
inner join tasktype ptt on pt.type_id = ptt.id
where pt.created >= '2022-11-05T00:00:00+00:00'::timestamptz
group by ptt.name) q1
left join (
select ptt.name as taskname, count(1) from task pt
inner join tasktype ptt on pt.type_id = ptt.id
where pt.completed >= '2022-11-05T00:00:00+00:00'::timestamptz
group by ptt.name) q2
on q1.taskname = q2.taskname
This gives an example output of
taskname count1 count2 total
=======================================
1st review 8 4 12
2nd review 4 13 17
2nd review 4 13 17
This works fine using raw SQL, but is it possible to do this using the ORM?
Thanks
You received this message because you are subscribed to the Google Groups "Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to django-users+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/CAAcKVnmMWftvzceQJeBFYMKfBuOHZVgRGi%3D8BvoZts%3DaUY%2Bmyg%40mail.gmail.com.
No comments:
Post a Comment