Multi-Field Joins Now Available in Zing Data

Why Multi-Field Joins Matter

In real-world data, relationships between tables are rarely defined by a single key. For example:

  • An Orders table might need to join to a Shipments table on both order_id and line_item_id.
  • A Sales table might join to a Territories table based on both region and sales_channel.
  • A Customer table could link to a Loyalty Program table using both customer_id and program_id.

Until now, Zing supported single-field joins (though across as many tables as you’d like), which worked for simpler use cases, or worked if you pre-created a field combining all the required join fields. Or you had to switch to SQL mode within Zing for multi-field joins.

But in practice, business users often needed more flexibility to reflect real-world business rules.

With visual multi-field joins now available, you can now define relationships across multiple columns—directly in Zing’s drag-and-drop interface — without needing workarounds.

 

Example: Retail Order Analysis

Imagine you’re analyzing online deliveries and want the name of each delivery person for each order, with delivery person IDs that can change day to dayYou could set up a multi-field join between two tables: Deliveries and People like so in the ‘joins’ tab in the Zing Data Web Console:

  • Deliveries table has columns: delivery date, deliveryid, deliveryitem, deliverypersonid.
  • People table has columns: date, person id, person name.

The lines connecting the tables indicate that the join is on two columns simultaneously:

  1. delivery datedate
  2. deliverypersonidperson id

This means only rows where both the date matches and the person ID matches will be included in the result.

What you would get:

  • A table that combines Deliveries and People info, but only for deliveries where the person who made the delivery matches a person in the People table on the same date.
  • Columns in the result would likely be: delivery date, deliveryid, deliveryitem, deliverypersonid, date, person id, person name.
  • The rows would be “filtered” by the two conditions above.

Essentially, this lets you see which deliveries were made by which people on which dates, ensuring both the person and date align exactly.

Example: Subscription Analytics

For a subscription business:

  • The Subscriptions table contains customer_id, plan_id, start_date, and end_date.
  • The Promotions table contains customer_id, plan_id, and discount_code.

A single-field join on customer_id would overcount or misalign rows (since customers may have multiple active plans).

Multi-field joins let you link on both customer_id and plan_id—so you can analyze:

  • The impact of promotions on specific subscription tiers.
  • Retention rates segmented by plan and discount usage.
  • Whether bundled promotions drive better customer lifetime value.

 

How to Use Multi-Field Joins in Zing

  1. From the Zing web console, click ‘data sources’ then ‘settings’ for the data source you want to set up a join for.

  2. Click the ‘joins’ tab

  3. Select multiple fields across your source tables, and Zing will automatically create the join conditions. You can specify left, right, inner, or full join types.

     

Related articles

Download Zing For Free

Available on iOS, Android, and the web

Learn how Zing can help you and your organization collaborate with data

Schedule Demo