Go Behind the Experience to see how Tecovas brings the West to life with Sanity 🤠 July 18th

GROQ Query Joins - How to get the Name Value on a Reference

1 replies
Last updated: Mar 7, 2021
Hello Sanity friends I'm back working on my sanity project and I'm still super confused on how to do joins
I have a company, which I'm selecting, each company can be one of may types, engineering, jewellery, agriculture, etc

I'd like to get the
so I query:
*[_type == "companyType"]{
Then I have the result:

"result":[13 items
0:{7 items
"slug":{2 items
So this name is
if I want to get the
name in another query (which should return an array) how do I do that? Here's an example company
"result":[2 items
0:{14 items
"companyType":[1 item
0:{3 items
"county":{2 items
"description":"A shoppy shop"
"image":{2 items
"asset":{...}2 items
"name":"Shoppy Shop"
"slug":{2 items
I want to join the company
to the
I really can't get my head around how the language syntax works and am struggling to get the name value on a reference

Thanks in advance sorry for text wall!
Mar 7, 2021, 12:11 PM
*[_type == "company"]{

*[_type == "company"]{

So the logic in the projection is:

&lt;= pick companyType field (which is an array of company types
&lt;= traverse the array (this is the part that trips most people up at first)
 &lt;= join the
 by looking for a document that has it as an
Mar 7, 2021, 3:37 PM

Sanity– build remarkable experiences at scale

Sanity is a modern headless CMS that treats content as data to power your digital business. Free to get started, and pay-as-you-go on all plans.

Was this answer helpful?