Bonjour,
je souhaite extraire les mails des adhérents à jour de leur cotisation et
extraire d'un autre côté les mails des adhérents pas à jour.
Comment puis-je faire ces deux manipulations séparées? Un requête SQL? si
oui laquelle ?
Merci
Xavier
--------
*Pensez à votre (Ré)-Adhésion 2021
<https://www.helloasso.com/associations/atelier-solidaire-saint-ouen/adhesions/adhesion-2021>*
Atelier Solidaire
http://atelier-solidaire-saint-ouen.org
Proposez vos projets et ateliers
<https://atelier-solidaire-saint-ouen.org/forum/>sur notre FORUM
<https://atelier-solidaire-saint-ouen.org/forum/>
Page FB de l'Atelier
<https://www.facebook.com/atelier.solidaire.saint.ouen/>
Groupe FB Saint-Ouen-à-vélo
<https://www.facebook.com/groups/velosaintouen/>
Groupe FB On ne jette plus, on donne
<https://www.facebook.com/groups/869127973170643/>
Instagram <https://www.instagram.com/atelier_solidaire_saint_ouen/?hl=fr>
twitter stouensurselle <https://twitter.com/stouensurselle>
Pour avoir ceux qui sont à jour :
SELECT m.email
FROM membres AS m
INNER JOIN (SELECT id_user, paid, expiry_date, MAX(date) FROM
services_users GROUP BY id_user) AS su ON su.id_user = m.id
WHERE m.email IS NOT NULL
AND su.paid = 1
AND (su.expiry_date IS NULL OR su.expiry_date >= date())
LIMIT 5000
Pour ceux qui ne sont pas à jour :
SELECT m.email
FROM membres AS m
INNER JOIN (SELECT id_user, paid, expiry_date, MAX(date) FROM
services_users GROUP BY id_user) AS su ON su.id_user = m.id
WHERE m.email IS NOT NULL
AND (su.expiry_date IS NOT NULL AND su.expiry_date < date())
LIMIT 5000
A plus.
merci bcp
On Wed, May 26, 2021 at 1:42 AM BohwaZ/Garradin <bohwaz@garradin.eu> wrote:
> Pour avoir ceux qui sont à jour :
>
> SELECT m.email
> FROM membres AS m
> INNER JOIN (SELECT id_user, paid, expiry_date, MAX(date) FROM
> services_users GROUP BY id_user) AS su ON su.id_user = m.id
> WHERE m.email IS NOT NULL
> AND su.paid = 1
> AND (su.expiry_date IS NULL OR su.expiry_date >= date())
> LIMIT 5000
>
> Pour ceux qui ne sont pas à jour :
>
> SELECT m.email
> FROM membres AS m
> INNER JOIN (SELECT id_user, paid, expiry_date, MAX(date) FROM
> services_users GROUP BY id_user) AS su ON su.id_user = m.id
> WHERE m.email IS NOT NULL
> AND (su.expiry_date IS NOT NULL AND su.expiry_date < date())
> LIMIT 5000
>
> A plus.
>
> --
> . ____
> / ___| Liste d'entraide des utilisateurs de Garradin
> | | _ http://garradin.eu/
> | |_| |
> \____| Désinscription : http://garradin.eu/aide/
>
La syntaxe pour ceux qui ne sont pas à jour me renvoie "Aucun membre
trouvé."
Une idée de ce qui ne va pas?
Merci
Xavier
Le mer. 26 mai 2021 à 02:01, BohwaZ/Garradin <bohwaz@garradin.eu> a écrit :
> Pour avoir ceux qui sont à jour :
>
> SELECT m.email
> FROM membres AS m
> INNER JOIN (SELECT id_user, paid, expiry_date, MAX(date) FROM
> services_users GROUP BY id_user) AS su ON su.id_user = m.id
> WHERE m.email IS NOT NULL
> AND su.paid = 1
> AND (su.expiry_date IS NULL OR su.expiry_date >= date())
> LIMIT 5000
>
> Pour ceux qui ne sont pas à jour :
>
> SELECT m.email
> FROM membres AS m
> INNER JOIN (SELECT id_user, paid, expiry_date, MAX(date) FROM
> services_users GROUP BY id_user) AS su ON su.id_user = m.id
> WHERE m.email IS NOT NULL
> AND (su.expiry_date IS NOT NULL AND su.expiry_date < date())
> LIMIT 5000
>
> A plus.
>
> --
> . ____
> / ___| Liste d'entraide des utilisateurs de Garradin
> | | _ http://garradin.eu/
> | |_| |
> \____| Désinscription : http://garradin.eu/aide/
>
Bonjour,
'ai se message avec cette requêtte:
«Erreur dans la requête : Unauthorized table: services_users»
Cela m'intéresse aussi...
Le 26/05/2021 à 01:41, BohwaZ/Garradin a écrit :
> Pour avoir ceux qui sont à jour :
>
> SELECT m.email
> FROM membres AS m
> INNER JOIN (SELECT id_user, paid, expiry_date, MAX(date) FROM
> services_users GROUP BY id_user) AS su ON su.id_user = m.id
> WHERE m.email IS NOT NULL
> AND su.paid = 1
> AND (su.expiry_date IS NULL OR su.expiry_date >= date())
> LIMIT 5000
>
> Pour ceux qui ne sont pas à jour :
>
> SELECT m.email
> FROM membres AS m
> INNER JOIN (SELECT id_user, paid, expiry_date, MAX(date) FROM
> services_users GROUP BY id_user) AS su ON su.id_user = m.id
> WHERE m.email IS NOT NULL
> AND (su.expiry_date IS NOT NULL AND su.expiry_date < date())
> LIMIT 5000
>
> A plus.
>
Il faut cocher la case autoriser l'accès à toutes les tables.
oui c'est ce que j'ai fait. Ca marche pour la première mais pas pour la
deuxième requête sql. --> "Aucun membre trouvé."
Le mer. 26 mai 2021 à 12:01, BohwaZ <garradin@garradin.eu> a écrit :
> Il faut cocher la case autoriser l'accès à toutes les tables.
>
> --
> . ____
> / ___| Liste d'entraide des utilisateurs de Garradin
> | | _ http://garradin.eu/
> | |_| |
> \____| Désinscription : http://garradin.eu/aide/
>
Oui, c'est bien ça ! merci
Le 26/05/2021 à 11:35, BohwaZ a écrit :
> Il faut cocher la case autoriser l'accès à toutes les tables.
>
La requête n'est valide que pour les cotisations qui ont une durée fixe ou de date
à date. Peut être tu as des cotisations ponctuelles ? Sinon indique moi ton identifiant
.garradin.eu en privé et je regarde.