[Galette-discussion] Re: [Galette-discussion] Script d'export |
[ Thread Index |
Date Index
| More lists.galette.eu/users Archives
]
- To: users@xxxxxxxxxxxxxxxx
- Subject: [Galette-discussion] Re: [Galette-discussion] Script d'export
- From: Guillaume Rousse <guillomovitch@xxxxxxxxx>
- Date: Tue, 21 Jan 2020 20:31:47 +0100
- Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=subject:to:references:from:message-id:date:user-agent:mime-version :in-reply-to:content-language:content-transfer-encoding; bh=1ofV1TWe1wM6ZKOcRd8xjitx10ReOpcuXMmONaaqXng=; b=rcmztx/BiXpjfdat83d4hyJ2vYUg36DrPpd8s/9Z0xiq++jJ/odUy/Q4dDj9YXxetz R4dszS4QpPvlHHLx8eH0ppNiol999P2RsG2IGbb3xZj3289/bwtPusJuc5hT2csr35XW jCuN0Sj4GggRZ0Z3DrOAqH+Xre8CDz1TIKDMF+7QMAdp9sLXGDrRtTYxnx0hbRof4pXu hCLSstKhf6uHei/SdgoOr/NAi3NcnzpcWFRDyZpbsgvFm4IGhVszf6ZMg0y4cPDLl1sk nejJ+86Jx4mMIRpKxTTkvV27Bp0yDhvzdh3DFh5zYNZzPrBhHE/Mf0n3Wh9tfXY/4zz3 9V9Q==
Le 21/01/2020 à 11:49, JLM a écrit :
Bonjour,
Bonne année à tous et surtout à Galette, puisse-t-elle continuer à se bonifier d’année en année et continuer à nous rendre service au quotidien !
Je m’intéresse depuis peu à la personnalisation des scripts d’export. Je parviens à exporter dans un même fichier les données de plusieurs tables grâce à la fonction “inner join”, mais j’ai deux problèmes :
- je n’arrive pas à récupérer une info dans une troisième table qui n’a pas de champ commun avec toutes les tables impliquées dans le script, mais seulement avec une seule. Par exemple, avec le script ci-dessous, en partant de l’id adhérent, je récupère sa cotisation dans la table galette_cotisations, ainsi que son numéro de groupe dans la table galette_groups_members, mais je ne sais pas comment récupérer le nom du groupe qui correspond à ce numéro de groupe, et qui se trouve dans une nouvelle table galette_groups…Il te faut une 3e jointure:
INNER JOIN galette_groups ON
(galette_groups_members.id_group=galette_groups.id_group)
et remplacer id_group par group_name dans la liste des champs souhaités
Et si tu veux rendre le résultat un poil plus lisible, tu peux utiliser
des aliases:
SELECT nom_adh, prenom_adh, montant_cotis, group_name, date_fin_cotis
FROM galette_adherents AS adherents
INNER JOIN galette_cotisations AS cotisations ON
(adherents.id_adh=cotisations.id_adh)
INNER JOIN galette_groups_members AS members ON
(members.id_adh=adherents.id_adh)
INNER JOIN galette_groups AS groups ON
(members.id_group=groups.id_group)
- ensuite, ce script me permet de récupérer toutes les cotisations des adhérents, or, je ne souhaite exporter que la dernière cotisation en date. Là, j’ai toutes les cotisations cumulées depuis qu’ils ont commencé à adhérer
Une condition de tri décroissante suivie d'une limite devrait
correspondre à ton besoin:
ORDER BY date_enreg DESC
LIMIT 1
Non testé, je n'ai ni groupes, ni cotisations dans ma base.
A+
--
Guillaume
--
Galette users discussions
http://galette.eu - http://galette.eu/documentation
http://bugs.galette.eu/projects/galette/
List documentation: https://listengine.tuxfamily.org/lists.galette.eu/users/