Sélection de toutes les tâches d'un identifiant de messagerie que vous devez rejoindre user_tasks
et tasks
select
ut._id,
ut.email,
ut.task_id,
t.name
from user_task ut
join tasks t on t._id = ut.task_id
where ut.email = 'some email id'
Sélection des sous-tâches liées à l'utilisateur que vous devez joindre à toutes les tables quelque chose comme
select
ut._id ,
ut.email,
ut.task_id,
t.name as task_name,
st._id as sub_task_id,
st.name as sub_task_name
from subtask st
join tasks t on t._id = st.task_id
join user_task ut on ut.task_id = t._id
where ut.email = 'some email id'
MISE à jOUR Après la question mise à jour, je vois qu'il ya la table user
et vous stockez EMAILID à user_task
, je recommande de stocker l'ID utilisateur dans la table user_task
de sorte que si l'utilisateur modifie l'adresse e-mail, il ne créera aucun problème pour les tables liées et vous devez simplement joindre la table user
à table user_tasks
en utilisant l'ID.
Donc, si vous avez enregistré le user_id
dans la table user_task
au lieu de email
les requêtes auraient ressemblé
select
u.id as user_id,
u.email,
ut.task_id,
t.name
from user_task ut
join user u on u._id = ut.user_id
join tasks t on t._id = ut.task_id
where u.email = 'some email id'
et
select
u._id as user_id,
u.email,
ut.task_id,
t.name as task_name,
st._id as sub_task_id,
st.name as sub_task_name
from subtask st
join tasks t on t._id = st.task_id
join user_task ut on ut.task_id = t._id
join user u on u._id = ut.user_id
where u.email = 'some email id'
merci beaucoup! –