Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > Requêtes et SQL.
Requêtes et SQL. Tout ce qui concerne vos questions sur les requêtes et le SQL sous Access se trouve ici.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 09/11/2011, 18h06   #1
Membre du Club
 
bonero pross
Inscription : janvier 2010
Messages : 160
Détails du profil
Informations personnelles :
Nom : bonero pross

Informations forums :
Inscription : janvier 2010
Messages : 160
Points : 58
Points : 58
Par défaut Erreur avec le predicat UNIQUE

Bonjour tout le monde,
J’ai la table ci-dessous et je veux selectionner les enregistrements a condition qu’il n’y ait qu’ un seul homoprenyme de nos clients.

Selon ce tuto http://sqlpro.developpez.com/cours/sqlaz/sousrequetes/, le predicat UNIQUE devrait faire l’affaire. Mais, j’obtiens l’erreur suivante : “AT most one record can be returned by this subquery”.



Client
cID cLastName cFirstName
1 DUPONT Alain
2 MARTIN Marc
3 BOUVIER Alain
4 DUBOIS Paul
5 DREYFUS Jean
6 FAURE Alain
7 LACOMBE Paul
8 DUHAMEL Evelyne
9 BOYER Martine
10 MARTIN Martin



Code :
1
2
3
4
5
6
SELECT cT1.*
FROM Client AS cT1
WHERE    UNIQUE     (SELECT   cT2.cFirstName
                                      FROM  Client as cT2
                                    WHERE  ct1.cFirstName = ct2.cFirstName
                                      AND  ct1.cid <> ct2.cid );

J’utilise Access 2003. quelqu’un peut – il m’expliquer la raison de cette erreur?



Je devrais avoir le resultat suivant :

cID cLastName cFirstName
4 DUBOIS Paul
7 LACOMBE Paul



Merci d’avance de votre aide.
Bonero est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/11/2011, 19h48   #2
Expert Confirmé Sénior
 
Avatar de f-leb
 
Homme Fabien
Enseignant
Inscription : janvier 2009
Messages : 2 415
Détails du profil
Informations personnelles :
Nom : Homme Fabien
Âge : 41
Localisation : France, Sarthe (Pays de la Loire)

Informations professionnelles :
Activité : Enseignant

Informations forums :
Inscription : janvier 2009
Messages : 2 415
Points : 4 447
Points : 4 447
bonsoir,

...et dans ce même tuto, Sqlpro précise:

Citation:
Envoyé par sqlpro
NOTA : ce prédicat est hélas rarement implémenté dans les SGBDR... Dommage !
A ma connaissance, Access ignore ce prédicat
f-leb est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 10/11/2011, 23h13   #3
Expert Confirmé
 
Avatar de vodiem
 
Homme Diem VO
Vivre
Inscription : avril 2006
Messages : 2 644
Détails du profil
Informations personnelles :
Nom : Homme Diem VO
Âge : 40
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Vivre
Secteur : Conseil

Informations forums :
Inscription : avril 2006
Messages : 2 644
Points : 3 895
Points : 3 895
Salut Bonero et f-leb,

ceci devrait te suffire:
Code :
1
2
3
SELECT *
FROM Client t1
WHERE (SELECT Count(cFirstName)=2 FROM Client t2 WHERE t1.cFirstName=t2.cFirstName)
vodiem est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/11/2011, 13h36   #4
Membre Expert
 
Homme Michel
Ingénieur développement logiciels
Inscription : mai 2005
Messages : 1 584
Détails du profil
Informations personnelles :
Nom : Homme Michel
Localisation : France, Val de Marne (Île de France)

Informations professionnelles :
Activité : Ingénieur développement logiciels
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : mai 2005
Messages : 1 584
Points : 2 143
Points : 2 143
Salut Bonero , f-leb et Vodiem

Remarquable syntaxe Vodiem
A+
__________________
"tout le monde veut sauver la planète, mais personne ne veut descendre les poubelles." J Yanne
micniv est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 10h42.


 
 
 
 
Partenaires

Hébergement Web