# Fetch Multiple Related Tables in One API Call Using OData $expand in CData API Server

**URL:** <https://community.cdata.com/t/fetch-multiple-related-tables-in-one-api-call-using-odata-expand-in-cdata-api-server/1332>\
**Category:** CData Drivers\
**Tags:** data-integration, odata-expand, odata-expansion, discussion, sql-server, api-server\
**Created:** [October 6, 2026, 4:47am UTC](https://community.cdata.com/t/fetch-multiple-related-tables-in-one-api-call-using-odata-expand-in-cdata-api-server/1332 "2026-10-06T04:47:27Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![Somya](https://avatars.discourse-cdn.com/v4/letter/s/e0b2c6/32.png) [@Somya](https://community.cdata.com/u/Somya)\
**Post date:** [October 6, 2026, 4:47am UTC](https://community.cdata.com/t/fetch-multiple-related-tables-in-one-api-call-using-odata-expand-in-cdata-api-server/1332/1 "2026-10-06T04:47:28Z")

</div>

Pulling a customer, their orders, and the products in each order often takes three or four separate API calls per screen. The result is slower load times and client-side code that’s hard to maintain. With **CData API Server** , you define a relationship once and use the OData `$expand` keyword to return a parent row and its related child rows in a single request.

In this article, you’ll learn how to:

- Define one-to-many and many-to-one relationships on columns in API Server
- Use `$expand` to return related tables in one call
- Combine `$expand` with `$select` and `$filter` to control which columns and rows come back
- Use pre-joined SQL views when your data needs three or more levels of depth

To learn more, read:

[Fetch Multiple Related Tables in One API Call Using OData $expand in CData API Server](https://www.cdata.com/kb/articles/odata-expand-cdata-api-server.rst)
