Save the date! Join us on October 16 for our Product Ops launch event. Register here.
Jul 27, 2020 03:10 PM
I have an attachments column in Table A with a bunch of photos for each record.
Table B has records that link back to Table A – and actually there are probably 2 or 3 records on Table B linking back to each record on Table A.
Is it possible to have a column in Table B that shows just selected attachments from the linked record’s attachments column in Table A?
So, like, if on record in Table A has 10 photos in the Attachments column, then each record in Table B that links to that record could show one or two of those photos?
Thanks for the help!
Jul 27, 2020 09:05 PM
Welcome to the community, @David_Friedman! :grinning_face_with_big_eyes: Unfortunately, this isn’t possible. Airtable doesn’t provide that kind of control. Could you describe more about how this would work? Would the number and selection of images be random, or would are you saying that you want to pick certain images from the larger collection, and only have those echo through to the linked records? Could you describe more about your specific use case as well?
There may be some third-party tools that could do something like that, but I’ve got very little experience with stuff outside of Airtable. I’ll tag @ScottWorld for input on this.
Jul 28, 2020 09:56 AM
Hi @David_Friedman,
As @Justin_Barrett mentioned, Airtable doesn’t provide control over individual attachments in the way that you would like.
As far as I know, there are no third-party tools that would be able to help you with this, either.
The only way that you could do what you want to do would be to separate out your attachments — each attachment as its own individual record — in a “join table” (aka “junction table”) that serves as the intersection between Table A and Table B.
So, you would create a new Table C, where each Attachment is its own record. Table A would link to some of those attachments in Table C, and Table B would link to some of those attachments in Table C.
(And once you have all of your attachments as their own records, that really opens you up to tons of other possibilities in the future, such as using Stacker as a front-end to control which users can see which attachments.)
Now, if you already have multiple attachments per Attachments field, you’ll need to separate them out individually to become your individual records in Table C. You would need to use Integromat to do this, by iterating through your attachments in each field and then creating your records.
Your Integromat scenario would be a simple 3-step scenario (see overview screenshot below), which would iterate through your “attachment field array” for each record that has attachments, and then it would create a new record for each found attachment:
Interestingly enough, @Moe has created an extension at miniextensions.com that does the REVERSE of what you want. His extension merges multiple Airtable attachment fields into one field. I’m tagging him here to alert him that there may be some demand for separating attachments as well.
In the meantime, Integromat would be your solution for separating your attachments.
p.s. If this is feeling a little overwhelming to you, and you have a budget for this project, and you’d like to hire an expert Airtable consultant to help you develop your system further, please feel free to send me a private message.
Jul 28, 2020 10:20 AM
[Tagging @Justin_Barrett also so you see the reply]
Here’s the scenario:
Table A tracks all my photo shoots. Each shoot is a record with columns for location, etc. I have an attachments column where I upload all the best photos from the shoot.
Table B tracks all my instagram posts. Each post gets a record that links back to the shoot in Table A. I have an attachments column where I upload the photo that went in that instagram post.
Since the photo from the post is already uploaded in Table A it seems silly to upload it a second time in Table B. It would be nice if I could reference the attachments column in Table A with some sort of picker where I could select which items appear in Table B.
The added complication: Sometimes a shoot from Table A will result in three separate instagram posts and therefore three separate records in Table B. Each one might have a different attachment from the group that’s associated with the shoot record in Table A.
Having a junction table might solve the problem, but seems like it adds a bit of complication that the rest of my team might not go along with. I’ll have to weigh that against just uploading a photo.
Knowing my actual-use scenario, is there anything more specific or different you’d recommend?
Jul 28, 2020 10:22 AM
The junction table is your answer. It’s the proper way to setup a database structure under this sort of a scenario.
There is also no other way to efficiently do what you want to do. As you said, each photo should only live in one place, not multiple places. Each photo is one asset that should only appear once.
If you duplicate your photos multiple different times throughout your system, you can do whatever you want, but that wouldn’t be good database design (as you correctly pointed out).