Merci beaucoup ! Je suis arrivé à mes fins ! :D Je sais pas si ça pourra aider, du coup, je colle la requête que j'ai utilisé : <query>SELECT `ad1`.prenom_adh, `ad1`.nom_adh, `ad1`.ddn_adh, `g`.group_name, CASE WHEN `ad1`.email_adh != "" THEN `ad1`.email_adh ELSE `ad2`.email_adh END, CASE WHEN `ad1`.tel_adh != "" THEN `ad1`.tel_adh ELSE `ad2`.tel_adh END, CASE WHEN `ad1`.adresse_adh != "" THEN `ad1`.adresse_adh ELSE `ad2`.adresse_adh END, CASE WHEN `ad1`.cp_adh != "" THEN `ad1`.cp_adh ELSE `ad2`.cp_adh END, CASE WHEN `ad1`.ville_adh != "" THEN `ad1`.ville_adh ELSE `ad2`.ville_adh END FROM galette_groups AS `g` INNER JOIN (galette_groups_members INNER JOIN galette_adherents AS `ad1` ON galette_groups_members.id_adh = `ad1`.id_adh) ON `g`.id_group = galette_groups_members.id_group INNER JOIN `galette_statuts` AS `p` ON `ad1`.`id_statut`=`p`.`id_statut` LEFT JOIN `galette_cotisations` AS `ct` ON `ct`.`id_adh`=`ad1`.`id_adh` LEFT JOIN galette_adherents AS `ad2` ON `ad2`.id_adh = `ad1`.parent_id WHERE `ad1`.activite_adh=true ORDER BY `nom_adh` ASC, `prenom_adh` ASC </query> Encore merci pour votre aide ! @++ Fred ----- Mail original ----- De: "Frederic LASSAVE" <f.lassave@xxxxxxx> À: "Galette general discussion" <galette-discussion@xxxxxxx> Envoyé: Dimanche 29 Janvier 2017 17:34:10 Objet: Re: [Galette-discussion] Export paramétrables : requête récurssive Super ! Merci ! Je suis effectivement arrivé à cette conclusion !... ;) Merci beaucoup !!! Le 29 janv. 2017 17:09, DDgallo <daniel.deveaux@xxxxxxxxxxxxxx> a écrit : Le 29/01/2017 à 16:09, Johan Cwiklinski a écrit : Salut, Le 29.01.2017 13:44, f.lassave@xxxxxxx a écrit : Bonjour à tous, Je me suis re-lancé dans le SQL ... C'est possible... Dans Galette, je n'utilise pas ce type de chose ; l'adhérent parent est chargé au besoin via une nouvelle requête et on récupère les infos depuis ce denier. Pour le coup, il faut probablement une sous requête qui va aller récupérer les infos complémentaires ; et des conditions pour prendre l'adresse de l'adhérent ou de son parent s'il n'en possède pas. On peut très bien faire une jointure sur la même table pour faire ce type de substitution ; exemple SELECT `ad1`.`nom_adh` AS `nom`, `ad1`.`prenom_adh` AS `prenom`, CASE WHEN `ad1`.`adresse_adh` != '' THEN `ad1`.`adresse_adh` ELSE `ad2`.`adresse_adh` END AS `adresse`, `ad1`.`parent_id` AS `parent` FROM `galette_adherents` as `ad1` LEFT OUTER JOIN `galette_adherents` AS `ad2` ON `ad2`.`id_adh` = `ad1`.`parent_id` WHERE 1 Le "LEFT OUTER JOIN" permet d'explorer toute la table ad1 ; un "(INNER) JOIN" simple se limiterait aux enregistrements qui ont effectivement un lien 'parent' Daniel _______________________________________________ Galette-discussion mailing list Galette-discussion@xxxxxxx https://mail.gna.org/listinfo/galette-discussion