same table when making an api call to a column ?
Suppose I have a task table with two attributes one as Id and another as parent id along with other attributes. Now I have two type of tasks : One which is main task having parent I'd as null and another type of task which is a sub-task having parent I'd as the another task in the same table to which it belongs to. I can create a task with both as task or as a sub-task( providing which task is its parent task ) When I make a api call to fetch task I am side loading all the attributes and associated tables based on a the filter. The filter is also having an option to display parent task id and parent_task_name. But the problem here is that since they are inside same table the api call is not side loading the same table itself and instead it's making an extra call to load the parent_task columns again. I know we could have created two tables one as tasks and other as sub task in the very beginning but now that's not feasible. So how I can avoid the extra api call just for getting parent_task_name and side load the parent task id and its name in same api call.
The feature you are looking for is called "recursive queries". And it is specific for the DB you're using. So for example, if you're using postgres, then google for "postgres recursive query". And pay attention to exact version of DB you use, recursive queries are not supported in old versions usually. But if you're 100% sure that you have only 2 layers depth in your hierarchy, and you are sure that there's only one parent/child/whatever .... i.e. if you're sure that doing 2 queries will ALWAYS be enough, then I would suggest just to do simple 2 queries and don't bother with recursive ones.
thanks @dburyak , this might might solve my problem.
Обсуждают сегодня