Hi everybody,
I need help to set a query correctly:
I have 4 tables
- task: task_id, status, team_assigned_boolean (0/1), team_id (reference), user_id (reference), created_date,…
- user: user_id, name, forename, email,…
- teams: team_id, team_name,…
- members: member_id, team_id (reference), user_id (reference),…
(no subtables)
A task can be assigned to a user, to a team or unasigned.
A user can be member of none or every teams.
How should I set my query(ies) to get a unique list (repeat) of tasks assigned to a unique user_id OR assigned to a team is member of?
Join, join set, inner, left, right… I can’t find the way to do that.
Many thanks.
Perhaps a simple logic change will simplify this.
At present the issue is the need to effectively perform two searches and join the results ( a custom query with a union would perhaps be the solution) however if you were to create an extra team called, for example, “not in a team” and assign all those not in a team there then the query should resolve to a simple left joins on task-> team -> members-> users removing the need to separately search on the user_id field directly
1 Like
Hi everybody,
Thanks @Hyperbytes for your proposal - from my understanding this does not answer my needs
I finally created a MR sub-table with user_id and team_id, also I added a array field in user table with all the team_id the user is member of.
But I don’t know how to get all the tasks assigned to a specific member or to a team is member of in a single query.
If someone have an idea?
Many thanks
I think a better solution would have been to use another subtable rather then an array as searching is much simpler on tables
I did both (a array field + sub-table) but don’t know how to deal with it.
Hi all,
I used this {{query1.groupBy('id').keys()}}
with a IN condition and it works great.
Thanks