, с которой я боролся, это проблема на прошлой неделе, поэтому у меня есть запрос mysql, в котором я присоединяюсь к той же таблице, причина в том, что я пытаюсь вернуть нулевые значения, что я сделал, увидев, что это довольно просто . Однако, реализовав это с помощью Django orm, я изначально использовал RAW, однако я пытаюсь сделать это с помощью orm. Подробности ниже:
MYSQL QUERY:
select t1.ca,t2.cc2
from
(
select a.`ca_acq` ca
from mat a
where a.`YYYY- MM`="2020-05"
group by a.`ca_acq`
)t1
left join
(
select b.`ca_acq` ca2, count(b.`ca_acq`) cc2
from mat b
where b.`YYYY- MM`="2020-05"
and b.network="PP"
group by b.`ca_acq`
)t2 on t2.ca2= t1.ca
Приведенный выше запрос дает:
**ca** **cc2**
B1 2177
CI2 693
J2l {null}
J2N {null}
N1B 8901
S21 1948
VS1 {null}
Однако я попытался сделать это с помощью Queryset:
t1=mat.objects.filter(yyyy_mm="2020-05").values("ca_acq").annotate(cnt1=Count("ca_acq"))
t2=t1.exclude(network="CC").exclude(network="AA").values("network","ca_acq")
t3=t2.filter(ca_acq__in=Subquery(t1)).values("network","ca_acq")
Однако я получил следующее error Операнд должен содержать 1 столбец (s)
Я буду признателен за понимание мозгов и помощь относительно того, как я могу решить эту проблему