OVH Cloud OVH Cloud

Extraction de données

4 réponses
Avatar
AP
J'ai une table contenant des enregistrements avec plusieurs champs.
Je dois extraire un groupe d'enregistrements par rapport à une plage de dates.

Dans cette plage plusieurs enregistrements peuvent être identiques
(identiques = plusieurs champs sont égaux).

Comment faire pour extraire un seul enregistrement des enregistrements
identiques dans la plage de dates choisie.

exemple :
champ 1 Champ 2 Champ 3 Date
A 1 1 10/10/10
B 1 1 10/10/10
A 1 1 11/11/10 <-- ne
devrait pas être extrait
A 2 1 15/11/10
A 1 1 25/12/10 <--- ne
devrait pas être extrait

4 réponses

Avatar
Eric
Bonjour,

En sql :
SELECT DISTINCT champ1, champ2, champ3
FROM LaTable
WHERE Ladate Between #10/10/2010# And #12/31/2010#;

Sinon dans le concepteur de requête, tu décoches Afficher sur la colonne
Ladate et dans les propriétés de la requêtes tu mets Oui à Valeurs
distinctes

--
A+
Eric
http://users.skynet.be/mpfa/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
J'ai une table contenant des enregistrements avec plusieurs champs.
Je dois extraire un groupe d'enregistrements par rapport à une plage de dates.

Dans cette plage plusieurs enregistrements peuvent être identiques
(identiques = plusieurs champs sont égaux).

Comment faire pour extraire un seul enregistrement des enregistrements
identiques dans la plage de dates choisie.

exemple :
champ 1 Champ 2 Champ 3 Date
A 1 1 10/10/10
B 1 1 10/10/10
A 1 1 11/11/10 <-- ne
devrait pas être extrait
A 2 1 15/11/10
A 1 1 25/12/10 <--- ne
devrait pas être extrait


Avatar
AP
Effectivement cela fonctionne, mais lors de l'extraction, je dois tout de
même récupérer la date des enregistrements extraits, et cela ne fonctionne
pas si je décoche Afficher de la colonne date




Bonjour,

En sql :
SELECT DISTINCT champ1, champ2, champ3
FROM LaTable
WHERE Ladate Between #10/10/2010# And #12/31/2010#;

Sinon dans le concepteur de requête, tu décoches Afficher sur la colonne
Ladate et dans les propriétés de la requêtes tu mets Oui à Valeurs
distinctes

--
A+
Eric
http://users.skynet.be/mpfa/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
J'ai une table contenant des enregistrements avec plusieurs champs.
Je dois extraire un groupe d'enregistrements par rapport à une plage de dates.

Dans cette plage plusieurs enregistrements peuvent être identiques
(identiques = plusieurs champs sont égaux).

Comment faire pour extraire un seul enregistrement des enregistrements
identiques dans la plage de dates choisie.

exemple :
champ 1 Champ 2 Champ 3 Date
A 1 1 10/10/10
B 1 1 10/10/10
A 1 1 11/11/10 <-- ne
devrait pas être extrait
A 2 1 15/11/10
A 1 1 25/12/10 <--- ne
devrait pas être extrait





Avatar
Eric
Alors, tu fais une requête avec regroupement

en SQL :(Remplacer Min par Max suivant le cas)
SELECT DISTINCT champ1, champ2, champ3, Min(Ladate) as LaDateARetenir
FROM LaTable
GROUP BY champ1, champ2, champ3
HAVING Min(Ladate) Between #10/10/2010# And #12/31/2010#;

ou dans le concepteur
Sur les champs 1,2,3 Opération:Regroupement
Sur le champ Ladate Opération : Min ou Max au choix en fonction de la
date que tu veux retenir.

ok?

Effectivement cela fonctionne, mais lors de l'extraction, je dois tout de
même récupérer la date des enregistrements extraits, et cela ne fonctionne
pas si je décoche Afficher de la colonne date





Bonjour,

En sql :
SELECT DISTINCT champ1, champ2, champ3
FROM LaTable
WHERE Ladate Between #10/10/2010# And #12/31/2010#;

Sinon dans le concepteur de requête, tu décoches Afficher sur la colonne
Ladate et dans les propriétés de la requêtes tu mets Oui à Valeurs
distinctes




Avatar
Eric
.../...
Erreur de copier-coller trop vite fait : le DISTINCT n'est pas utile


en SQL :(Remplacer Min par Max suivant le cas)
SELECT DISTINCT champ1, champ2, champ3, Min(Ladate) as LaDateARetenir
FROM LaTable
GROUP BY champ1, champ2, champ3
HAVING Min(Ladate) Between #10/10/2010# And #12/31/2010#;

--

A+
Eric
http://users.skynet.be/mpfa/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr