Bonjour,
Je souhaite faire un export pour créer des bordereaux de chèques mais la requête me pose problème.
J’ai trouvé plusieurs informations dans les mailings-lists mais sans réponse à mon problème.
J’ai ajouté des champs dans les contributions:
- un champ n° de chèque (texte libre)
- un champ banque (liste de choix)
- et nombre de chèque (liste de choix). <— Ce dernier n’est pas utile pour le moment puisque je ne veux pas toucher aux codes sources de galettes et qu’il ne sert donc pas vraiment.
J’ai besoin de récupérer via une requête l’ensemble de ces champs pour en faire un export csv, quelqu’un a-t-il déjà fait ça et a un exemple à me fournir?
(Export qui sera effectué via exports.xml, que j’ai déjà utilisé et qui est très simple d’ailleurs, merci aux devs ;) )
J’ai fait des requêtes qui m’ont donné des résultats qui s’en approche mais pas le résultat final espéré (Attention les yeux, je suis pas un pro):
SELECT galette_adherents.id_adh
, nom_adh
, prenom_adh
, CASE field_id WHEN 5 THEN field_val END AS no_cheque
, CASE field_id WHEN 6 THEN (SELECT val from galette_field_contents_6 WHERE field_val=galette_field_contents_6.id) END AS nb_cheque
, CASE field_id WHEN 7 THEN (SELECT val from galette_field_contents_7 WHERE field_val=galette_field_contents_7.id) END AS banque
FROM galette_cotisations
LEFT JOIN galette_adherents
ON galette_adherents.id_adh=galette_cotisations.id_adh
LEFT JOIN galette_dynamic_fields
ON galette_cotisations.id_cotis=galette_dynamic_fields.item_id
WHERE field_form=‘contrib'
//J’obtiens les valeurs de chaque champ dynamique dans des lignes séparées.
SELECT galette_adherents.id_adh
, nom_adh
, prenom_adh
, SUM(CASE field_id WHEN 5 THEN field_val END) AS no_cheque
, SUM(CASE field_id WHEN 6 THEN (SELECT val from galette_field_contents_6 WHERE field_val=galette_field_contents_6.id) END) AS nb_cheque
, SUM(CASE field_id WHEN 7 THEN (SELECT val from galette_field_contents_7 WHERE field_val=galette_field_contents_7.id) END) AS banque
FROM galette_cotisations
LEFT JOIN galette_adherents
ON galette_adherents.id_adh=galette_cotisations.id_adh
LEFT JOIN galette_dynamic_fields
ON galette_cotisations.id_cotis=galette_dynamic_fields.item_id
WHERE field_form='contrib'
GROUP BY id_cotis
//J’obtiens tous sur la même ligne mais le SUM m’enlève les 0 devant les numéros de chèque et n’affiche pas la banque qui est en texte.
Peut-être que ce n’est pas du tout la bonne solution, je suis ouvert à toute proposition.
Merci pour votre aide.
Cordialement,
Jérémy.