# ES|QL LOOKUP JOIN between fields containing a list of values

**URL:** <https://discuss.elastic.co/t/es-ql-lookup-join-between-fields-containing-a-list-of-values/385960>\
**Category:** Elasticsearch\
**Tags:** esql\
**Created:** [April 20, 2026, 12:47pm UTC](https://discuss.elastic.co/t/es-ql-lookup-join-between-fields-containing-a-list-of-values/385960 "2026-04-20T12:47:22Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![smyttie](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/smyttie/32/18875_2.png) [@smyttie](https://discuss.elastic.co/u/smyttie)\
**Post date:** [April 20, 2026, 12:47pm UTC](https://discuss.elastic.co/t/es-ql-lookup-join-between-fields-containing-a-list-of-values/385960/1 "2026-04-20T12:47:22Z")

</div>

Hi all,

creating a LOOKUP JOIN query is working fine, but I am not getting results when I have to do it between 2 fields containing a list of values.

For example :

- main index field = "sizes" : ["S", "M"]
- lookup index field = "sizes" : ["S","M","L"]

I want a hit if "S" or "M" exist in the lookup index, but I keep getting no result. Could it be because list fields are not supported ?

Kind regards.

---

<div class="post-metadata">

**Author:** ![leandrojmp](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/leandrojmp/32/107231_2.png) [@leandrojmp](https://discuss.elastic.co/u/leandrojmp)\
**Post date:** [April 20, 2026, 1:06pm UTC](https://discuss.elastic.co/t/es-ql-lookup-join-between-fields-containing-a-list-of-values/385960/2 "2026-04-20T13:06:27Z")

</div>

> [@smyttie](#):
>
> Could it be because list fields are not supported ?

I think that is the reason, according to the [documentation](https://www.elastic.co/docs/reference/query-languages/esql/commands/lookup-join#parameters).

> If using join on a single field or a field list, the fields used must exist in both your current query results and in the lookup index. **If the fields contains multi-valued entries, those entries will not match anything** (the added fields will contain `null` for those rows).

For the main index you can use MV\_EXPAND to expand the multi-valued field, but for your lookup index you will need to change it so the field has one single value.

---

<div class="post-metadata">

**Author:** ![smyttie](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/smyttie/32/18875_2.png) [@smyttie](https://discuss.elastic.co/u/smyttie)\
**Post date:** [April 21, 2026, 4:58am UTC](https://discuss.elastic.co/t/es-ql-lookup-join-between-fields-containing-a-list-of-values/385960/3 "2026-04-21T04:58:54Z")

</div>

That's exactly it! Thanks for your solution.
