مشکل فراخوانی subquery و group_by در Ecto


#1

با درود خدمت اساتید و دوستان محترم . بنده چنین چیزی رو که قبلا هم شاید سوال کرده باشم در انجمن را می خواهم درست کنم

خوب کدی که برای این کار زدم با کمک این پست به شرح زیر می باشد

	def load_category_and_count_post() do
		sub = from c in Post,
		group_by: c.cms_post_category_id,
     	select: %{cms_post_category_id: c.cms_post_category_id, record_count: count(c.id)}


		query = from(d in PostCategory,
  		join: e in subquery(sub), on: d.id == e.cms_post_category_id,
   	select: %{title: d.title, record_count: e.record_count})

		Repo.all(query)

	end

این کد خیلی خوب کار می کنه ولی من یک مشکلی دارم . به عنوان مثال شما یک کتگوری دارید که توش پستی نیست باید کنار عددش بزنه 0 نه اینکه اصلا اون رو نیاره . وی اگر توش یک دونه پست باشه مشکلی نداره می یاد بالا

حالا من می خوام ببنیم چطور می تونم مجموعه ای که داخلش پستی نیست رو نمایش بدم .

نمایش :

[
  %{record_count: 2, title: "the end of test"},
  %{record_count: 1, title: "1-the end of test"}
]

#2

اگر از left join
استفاده کنی که همه category هارو بیاره درست میشه