Des enregistrements qui ont une valeur commune sur un champ

saimslim Messages postés 47 Date d'inscription dimanche 17 juillet 2005 Statut Membre Dernière intervention 22 octobre 2012 - 3 avril 2012 à 20:06
solilog Messages postés 273 Date d'inscription samedi 13 juin 2009 Statut Membre Dernière intervention 18 avril 2015 - 8 avril 2012 à 13:58
Bonjour,

je cherche une requête sql en delphi ou en access, qui me permettera d'obtenir à partir d'une table tous les enregistrements qui ont une même valeur sur un champs ,

Exemple :
Code,désignation,couleur,nombre
123, table, jaune, 6 \*
256, chaise, noir, 5
546, armoire,marron, 10
123, bureau, gris, 12 \*
le 1er et le dernier enregistrement ont le même code.

donc je veux avoir une requete qui me fait sortir ces deux enregistrement (qui ont des égalités sur un champ précis)

Merci.

3 réponses

beckerich Messages postés 302 Date d'inscription jeudi 29 septembre 2005 Statut Membre Dernière intervention 17 septembre 2013 2
4 avril 2012 à 07:17
Bonjour,

ça peut se faire comme cela :

SELECT code, COUNT(*) FROM MaTable GROUP BY code;


Luc.
0
pierrotk10d Messages postés 110 Date d'inscription mardi 13 novembre 2007 Statut Membre Dernière intervention 2 février 2024 3
4 avril 2012 à 22:17
Bonjour,
On peut aussi créer un filtre et mettre la propriété du Filtred à True
DataSet.Filter := '123';
Dataset.Filtered := True;
On peut aussi utiliser l'évènement OnFilterRecord
Accept :DataSet['Code'] '123';
OnFilterRecord peut contenir des options de filtres complexes
Parfois les filtres sont plus rapides que les requêtes SQL surtout lorsqu'elles sont simples;


pierrot
0
solilog Messages postés 273 Date d'inscription samedi 13 juin 2009 Statut Membre Dernière intervention 18 avril 2015 10
8 avril 2012 à 13:58
Bonjour à tous,

select a.*
from matable a
where a.code in ( select b.code, count(*) from matable b
group by b.code
having count(*) > 1
)
or a.designation in ( select c.designation, count(*) from matable c
group by c.designation
having count(*) > 1
)
or a.couleur in ( select d.couleur, count(*) from matable d
group by d.couleur
having count(*) > 1
)
or a.nombre in ( select e.couleur, count(*) from matable e
group by e.nombre
having count(*) > 1
)
-- tu auras tous les records qui presentent des doublons dans n'importe quel champ.

Bonne journée.
solilog
0
Rejoignez-nous