Players (individual players)
Teams (teams where I link to the Players table so I can select who is on Team x,y,z)
Events (Tournaments where I link to Teams, so I can see which teams are playing)
Now, ideally I would like to get all information about Events in a single call, but I’m struggling with getting the Players.
you are right - it is not possible to join a link to table field in this way. What you can probably do is to add a proper lookup field there and ask for that instead. Would that solve your problem?
It is not possible to do any nesting adhoc lookups via joins. When using join the results are basically nested only 1 level deep. However creating a proper lookup field in Teams into the Players table and then requesting that field via join from Events could make the result you are after perhaps?