SELECT adherents.*
FROM adherents
JOIN adhesion
ON adherents.ID_adherent=adhesion.ID_adherent
WHERE ID_ChefFamille= (SELECT ID_ChefFamille
FROM adhes
WHERE adhesion.ID_adherent=:ID_Famille) AND adhesion.annee=:saison'
Avec ce modèle, et si j'ai bien compris, ce devrait être avec ID_CehfFamille :
SELECT R.*
FROM
adhesion S
INNER JOIN adherents R
ON S.ID_adherent = R.ID_adherent
WHERE
S.ID_ChefFamille = :ID_Famille
AND S.annee = :saison
Mais je pense que le modèle est mal conçu ... l'information chef de famille est mal positionnée ... C'est un attribut de l'adhérent, pas de l'adhésion ...
car il y a plusieurs réponses d'après ce que je comprends, et effectivement c'est vrai.
Est ce que le retour doit être 0 ou 1 ? moi je veux la liste des personnes de la même famille ... Comment suprimmer cette erreur ?
- Pour celle de Benzoue :
La requête est OK si l'adhérent qui s'identifie est le chef de famille, si c'est un autre membre il a un retour nul.
Pour changer mes tables, ça se discute ... car chaque saison est différente et les adhérents peuvent d''une année sur l'autre s'inscrire en famille ou non, du coup je l'avais mis sur la table adhesion.
si j'ai trouvé avec ça :
SELECT adherents.*
FROM adherents
JOIN adhesion
ON adherents.ID_adherent=adhesion.ID_adherent
WHERE ID_ChefFamille IN (SELECT ID_ChefFamille FROM adhesion WHERE adhesion.ID_adherent=:ID_Famille) AND adhesion.annee=:saison
Plus joli avec une jointure qu'avec un IN et une sous requête :
SELECT R.*
FROM
adhesion A
INNER JOIN adhesion CF
ON A.ID_ChefFamille = CF.ID_ChefFamille
INNER JOIN adherents R
ON CF.ID_adherent = R.ID_adherent
WHERE
A.ID_adherent = :ID_Famille
AND A.annee = :saison
Attention cela implique que pour l'adhésion du chef de famille ID_adherent et ID_ChefFamille soit renseignés et égaux ...
Je maintien que le modèle n'est pas glop ... si c'est une question de saison autant matérialiser ces saisons et également les familles / saison ... mais c'est une autre histoire au final
Si tu ne veux que les membres de la famille à partir d'un id_adherent, à quoi sert la saison ? C'est pas comme si la famille allait changé d'une saison à une autre quoi non ?
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
N'oubliez pas d'activer les erreurs PDO.
N'oubliez pas d'activer les erreurs PDO.