Best way to pull all “names” from an External DB into a Glide-native table (array/json → index trick)?

Hi everyone,

I have a Glide app connected to an External Database (Supabase). In that external table I have many rows with a name field (e.g., client names) :

Goal: I want to get all the client_name values from the external DB, transform them into something Glide can handle (array / JSON / joined text), and then “unwind” them into a native Glide Table using the index trick / helper table approach.

Constraints:

  • I want to stay 100% inside Glide (no Make/Zapier/n8n/scripts).

  • I’m fine with computed columns like Split Text / Single Value if that’s the right pattern.

I have already done this with jsons, the thing is that i dont want to get the values through an api call because i would need to either create a button and click it or a workflow triggered every x minutes but it will consume a lot of glide updates, so i prefere to ask if there is any workaround inside glide to get this done

When i talk about the index trick / helper table approach, i mean this:

Thank you in advance

So in your solution, you don’t want Glide to connect to your Supabase anymore, and just have a schedule to get just client_name from your Supabase table to “unwind” them into a native Glide Table?

Can you share more on what’s the use case here?

Hi @ThinhDinh,

I’m keeping the Supabase connection (it’s just a Supabase view) and it displays fine in Glide.

The problem is Glide’s limitations with External Databases:

  • I can’t use glide columns as filters in the layout page, i can only use supabase columns.

  • When I try to build computed columns (lookups/rollups/joined lists, etc.) using supabase columns, Glide shows a warning like “can only check a maximum of 100 rows”, so the result is incomplete (it feels similar to Glide’s documented “100 matching rows” limits for lookups/rollups/aggregations in some contexts).​

What I want to achieve:

  • I want to display the same client_name values from the Supabase view, but inside a native Glide Table (one row per client), so I can then use that native table/column for filtering normally in Glide.

Is that possible???

I don’t use external SQL databases with glide and don’t use supabase, but could you create a read only table from a SQL query. Use the string_agg function or something like it in the SQL query to merge all names into a single cell with a delimiter. Then create a new glide table, bring in the delimited list of names using a single value column, and then use the index trick to parse them into separate rows?

Only downside to this is that if the order of the names changes or a row is deleted in the SQL database, it’s going to reshuffle the names in the glide table. Depends on your use case, but it would probably only work well if you are using all computed columns and not using basic columns to store any data that needs to be associated with that name.

2 Likes

You are the best man @Jeff_Hager

It worked

1 Like

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.