Bonsoir ,

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
 
SELECT t1.id_adherent, t1.id_categorie, t1.nom, t1.prenom, t1.enseigne, t2.categorie, MIN(t3.numero) 
FROM tbl_adherent AS t1 
INNER JOIN tbl_categorie AS t2 ON t1.id_categorie = t2.id_categorie 
INNER JOIN tbl_contact AS t3 ON t1.id_adherent = t3.id_adherent 
WHERE t1.actif = 2 
AND (t3.id_type_contact = 4 OR t3.id_type_contact = 6) 
AND t3.numero REGEXP "[[.@.]]" 
GROUP BY t1.id_adherent 
ORDER BY t1.id_categorie, t1.id_adherent ASC
Je cherche à recuperer les adherents qui ont un email, la requete rempli sa mission sauf que je la trouve bancale, et que je souhaiterai la perfectionner sur un point precis.
- les adherents peuvent avoir plusieurs adresses email
- les adresses email (t3.numero) sont enregistrées dans la table tbl_contact et elles ont un id_type_contact = 4; id_type_contact = 6 est un contact privé : ça peut être un numéro de téléphone ou un email, et s'agissant d'un traitement de données en back office, les emails sélectionnés dans la requête devrait être de type 6 par préférence (mais là je n'ai aucun contrôle )
- je n'ai pas besoin de l'adresse email pour le traitement de la requête, elles sont récupérer sélectivement apres traitement d'un formulaire (établi depuis cette requête), mais je n'ai pas réussi a obtenir ce que je voulais sans passer par GROUP BY

Pour ceux qui ont compris , (j'ai pas l'impression d'avoir été tres clair ), je voudrais savoir si il y a un moyen de récupérer les id, nom prénom etc... (unique) , des adhérents qui ont un email de type 6, puis sinon de type 4

autre question quel est le plus rapide ?

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
AND t3.numero REGEXP "[[.@.]]" 
 
ou
 
AND t3.numero LIKE "%@%"
c'est juste pour détecter l'email par rapport au No de téléphone, je reconnais que ça aurait plus malin de ma part de séparer les telephones privés et les email privés lors de la conception de la table... (je signale quand meme que je vérifie l'intégrité de l'emal lors de l'insertion dans la table avec PHP et une expression régulière heureusement un peu plus pointue ).

Merci d'avance
++