Bonjour,
Dans l’activité « 1 cotisation annuelle », la date d’expiration est le 31/12/2022
pour certains et 31/12/2023 pour d’autres.
Qu’elle serait la syntaxte SQL pour créer une recherche enregistrée afin d’envoyer
un message uniquement aux adhérents dont la cotisation expire au 31/12/2023 ?
En vous remerciant d’avance,
Bonjour Jean-Christophe,
Est-ce que ceci fait ce que tu veux ?
SELECT
nom,
strftime("%d/%m/%Y", s.end_date) as "fin",
s.label
FROM users
INNER JOIN services_users as su ON users.id = su.id_user
INNER JOIN services as s ON su.id_service = s.id
WHERE
s.label = "1 cotisation annuelle"
AND
strftime("%d/%m/%Y", s.end_date) = "31/12/2023"
Jean-Christophe (le breton)
Le 24/06/2024 à 12:42, jean-christophe@lenormand.bzh a écrit :
> Bonjour,
>
> Dans l’activité « 1 cotisation annuelle », la date d’expiration est le
31/12/2022 pour certains et 31/12/2023 pour d’autres.
>
> Qu’elle serait la syntaxte SQL pour créer une recherche enregistrée afin
d’envoyer un message uniquement aux adhérents dont la cotisation expire au 31/12/2023
?
>
> En vous remerciant d’avance,
>
Le 24 juin 2024 à 13:31, Jean-Christophe Engel <lesanges@zaclys.net> a écrit
:
>
> Bonjour Jean-Christophe,
>
> Est-ce que ceci fait ce que tu veux ?
Pas tout à fait ! :-)
Dans l’activité en question, il y a 311 adhérents dont 119 expire au 31/12/2023
c’est donc ce dernier chiffre qui devrait sortir après la recherche.
La, ton code renvoi 378 résultats (dont beaucoup de noms sont en double).
Merci pour ta réponse rapide
Au cas où ça puisse servir à d'autres, je mets ici la réponse que j'ai
envoyée
en privé.
En fait, j'ai confondu la date de fin de l'activité (end_date) avec la date
d'expiration de la cotisation.
voici la requête à laquelle je suis arrivé :
SELECT
users.id,
users.nom as "Nom",
strftime("%d/%m/%Y", services_users.date) as "Inscription",
strftime("%d/%m/%Y", services_users.expiry_date) as "Fin"
FROM users
INNER JOIN services_users
ON services_users.id_user = users.id
INNER JOIN services
ON services_users.id_service = services.id
WHERE
services.label = "1 Cotisation Annuelle"
AND
strftime("%d/%m/%Y", services_users.expiry_date) = "31/12/2023"
ORDER BY users.nom
;
Avec cette requête, je trouve 120 résultats, dont 1 doublon.
Pour éliminer le doublon, il suffit d'ajouter DISTINCT après SELECT et de
supprimer l'affichage de la date d'inscription
Jean-Christophe Engel
Le 24/06/2024 à 13:57, jean-christophe@lenormand.bzh a écrit :
> Le 24 juin 2024 à 13:31, Jean-Christophe Engel <lesanges@zaclys.net> a
écrit :
>>
>> Bonjour Jean-Christophe,
>>
>> Est-ce que ceci fait ce que tu veux ?
>
> Pas tout à fait ! :-)
>
> Dans l’activité en question, il y a 311 adhérents dont 119 expire au
31/12/2023 c’est donc ce dernier chiffre qui devrait sortir après la recherche.
>
> La, ton code renvoi 378 résultats (dont beaucoup de noms sont en double).
>
> Merci pour ta réponse rapide
>