Bonsoir ,
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.
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
- 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 ?
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
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 AND t3.numero REGEXP "[[.@.]]" ou AND t3.numero LIKE "%@%").
Merci d'avance
++
Partager