Pour Access, vous pouvez utiliser la requête SQL Select que je présente ici :
Par exemple, vous avez ce tableau :
CLIENTE|| NOMBRES || MAIL
888 || T800 ARNOLD || t800.arnold@cyberdyne.com
123 || JOHN CONNOR || s.connor@skynet.com
125 || SARAH CONNOR ||s.connor@skynet.com
Et vous devez sélectionner uniquement des mails distincts. Vous pouvez le faire avec ceci :
SQL SELECT :
SELECT MAX(p.CLIENTE) AS ID_CLIENTE
, (SELECT TOP 1 x.NOMBRES
FROM Rep_Pre_Ene_MUESTRA AS x
WHERE x.MAIL=p.MAIL
AND x.CLIENTE=(SELECT MAX(l.CLIENTE) FROM Rep_Pre_Ene_MUESTRA AS l WHERE x.MAIL=l.MAIL)) AS NOMBRE,
p.MAIL
FROM Rep_Pre_Ene_MUESTRA AS p
GROUP BY p.MAIL;
Vous pouvez l'utiliser pour sélectionner l'ID maximum, le nom correspondant à cet ID maximum, vous pouvez ajouter tout autre attribut de cette façon. Ensuite, à la fin, vous mettez la colonne distincte pour filtrer et vous ne la regroupez qu'avec cette dernière colonne distincte.
Cela vous apportera l'ID maximum avec les données correspondantes, vous pouvez utiliser min ou toute autre fonction et vous répliquez cette fonction aux sous-requêtes.
Cette sélection va revenir :
CLIENTE|| NOMBRES || MAIL
888 || T800 ARNOLD || t800.arnold@cyberdyne.com
125 || SARAH CONNOR ||s.connor@skynet.com
N'oubliez pas d'indexer les colonnes que vous sélectionnez et la colonne distincte doit contenir des données non numériques, toutes en majuscules ou en minuscules, sinon cela ne fonctionnera pas. Cela fonctionnera également avec un seul courrier recommandé. Bon codage ! !!
3 votes
Ok, vous devez utiliser la PARTITION ou utiliser deux instructions de sélection ?
0 votes
Et qu'est-ce qui devrait être affiché s'il y a disons 2 lignes avec le même Email mais un nom de produit différent ? Le site (de préférence le dernier) n'est pas clair. Le dernier par quelle commande ?
0 votes
@ypercube Comme indiqué dans la question, de préférence la dernière. Cependant, ce n'est pas vraiment critique pour moi. Je veux juste l'un d'entre eux.
1 votes
Vous pouvez examiner les questions suivantes : question1 , question2 o question3 .
0 votes
Pourquoi ne pouvez-vous pas utiliser : SELECT DISTINCT Email, ID, ProductName, ProductModel FROM Products ?