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.lass...@free.fr>
À: "Galette general discussion" <galette-discussion@gna.org>
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.deve...@pays-gallo.net> a écrit : 








Le 29/01/2017 à 16:09, Johan Cwiklinski a écrit : 


Salut, 

Le 29.01.2017 13:44, f.lass...@free.fr 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@gna.org
https://mail.gna.org/listinfo/galette-discussion

_______________________________________________
Galette-discussion mailing list
Galette-discussion@gna.org
https://mail.gna.org/listinfo/galette-discussion

Répondre à