2010-03-17 5 views
0

J'ai une question sur Access.If par exemple, j'ai une table avec les données suivantes:Comment obtenir une seule ligne pour chaque valeur distincte dans la colonne?

NAME   | ADDRESS 
    John Taylor | 33 Dundas Ave. 
    John Taylor | 55 Shane Ave. 
    John Taylor | 786 Edward St. 
    Ted Charles | 785 Bloor St. 
    Ted Charles | 90 New York Ave. 

Je veux obtenir un enregistrement pour chaque personne, peu importe l'exemple address.For:

NAME  | ADDRESS 
    John Taylor | 33 Dundas Ave. 
    Ted Charles | 90 New York Ave. 

Cela peut-il être fait avec des requêtes seulement? J'ai essayé d'utiliser DISTINCT, mais lorsque je sélectionne les deux colonnes, la combinaison est toujours unique, donc j'obtiens toutes les lignes.

Merci!

Répondre

4

Si vous ne vous souciez pas l'adresse à montrer, puis devrait fonctionner:

SELECT NAME, 
     MIN(ADDRESS) AS ADDRESS 
FROM THETABLE 
GROUP BY NAME 
+0

Merci Van! Ça marche. – Chavdar

+0

Super, heureux de vous aider. – van

0

Comme un peu plus, en utilisant MIN retourne la première adresse par ordre alphabétique. Access a 2 fonctions agrégées similaires appelées FIRST et LAST qui renverront la première ou la dernière adresse en fonction de l'ordre de tri de la table.

Par exemple si vous prenez

ID | NAME | ADRESSE
1 | John Taylor | 55 Shane Ave.
2 | John Taylor | 786, rue Edward
3 | John Taylor | 33, avenue Dundas
4 | Ted Charles | 785, rue Bloor
5 | Ted Charles | 90 New York Ave.

SELECT NAME, 
    MIN(ADDRESS) AS ADDRESS 
FROM THETABLE 
GROUP BY NAME 

retournera

John Taylor | 33, avenue Dundas
Ted Charles | 785 Bloor St.

SELECT NAME, 
    FIRST(ADDRESS) AS ADDRESS 
FROM THETABLE 
GROUP BY NAME 

vous donnera

John Taylor | 55 Shane Ave.
Ted Charles | 785 New York Ave.

HTH

Ben

+0

Techniquement, c'est Jet/ACE qui a les fonctions First/Last. Vous pouvez obtenir des résultats prévisibles à partir de Premier/Dernier en définissant un ordre de tri sur le champ que vous sélectionnez. Dans les données inventées que vous présentez, ORDER BY est sur l'ID, qui va être semi-aléatoire par rapport au contenu du champ Adresse. –

Questions connexes