Correct way to return multiple from query

Hi, I would like to return multiple more than one element in query, but I wonder what might be the correct way to return multiple.
So I have a query that looks like this

#+BEGIN_QUERY
{:title "📅 去年今日"
 :query [:find ?name ?d1
         ; all inputs
         :in $ ?d1 ?d2 ?d3
         :where
          ; match every record in db, block ?b, and page ?p
          [?b :block/page ?p]
          ; must be journal
          [?p :block/journal? true]
          ; date selection, only for block
          (or
             [?p :block/journal-day ?d1]
              [?p :block/journal-day ?d2]
             [?p :block/journal-day ?d3])
          ; get name
          [?p :block/name ?name]]
 :view (fn [result s]
       [:div.flex.flex-col  ; view as big <div> (hiccup)
      (for [page result]  (list page "<sp>\n")
       )
       ])
 :inputs  [:7d-before :30d-before :365d-before ]
 :collapsed? false}
#+END_QUERY

It can return something like this
image
so it seems that logseq make result to be the flatten version of all returns.
And if I return with :find [?name ?d1] then the query will return
image i.e. some results seem to be truncated.
What if I would to loop like for [[page day] result] i.e. non-flatten version?
Thank you!