Je tente d'utiliser une sous-requête sans succès avec l'option not exists.
Access ne reconnaît que le mot Exists. J'ai tenté ma requête en utilisant Pas
In mais sans succès.
Voici les tables sur lesquelles je veux faire ma requête:
Table A Concours_Bourses (Sélection de tous les concours où l'année = 2006)
Table B Gestionnaire_Intervention_Concours (table intermédiaire entre
Gesionnaire et Concours_Bourse) (sert à déterminer les intervention effectués
par des gestionnaires sur les concours)
Voici ce que je veux faire:
Je veux obtenir tous les concours sur lesquels il n'y a aucune intervention
d'effectuée pour un Type_Intervenant = "RESSBBAF"
Voici la requête que tente de faire fonctionner:
SELECT CONCOURS_BOURSE.SeqUnikConcoursBourse,
CONCOURS_BOURSE.ANNEE_CONCOURS, CONCOURS_BOURSE.NUMERO_CONCOURS
FROM CONCOURS_BOURSE
WHERE (((CONCOURS_BOURSE.SeqUnikConcoursBourse) Not In (SELECT DISTINCT
[GESTIONNAIRE _INTERVENTION_CONCOURS].SeqUnikConcoursBourse, [GESTIONNAIRE
_INTERVENTION_CONCOURS].SEQUENCE_BOURSE, [GESTIONNAIRE
_INTERVENTION_CONCOURS].NUMERO_VERSION, [GESTIONNAIRE
_INTERVENTION_CONCOURS].ANNEE_CONCOURS, [GESTIONNAIRE
_INTERVENTION_CONCOURS].NUMERO_CONCOURS, [GESTIONNAIRE
_INTERVENTION_CONCOURS].CODE_INTERVENANT, [GESTIONNAIRE
_INTERVENTION_CONCOURS].TYPE_INTERVENANT, [GESTIONNAIRE
_INTERVENTION_CONCOURS].NUMERO_DOSSIER, [GESTIONNAIRE
_INTERVENTION_CONCOURS].NUMERO_UNITE
FROM [GESTIONNAIRE _INTERVENTION_CONCOURS]
WHERE ((([GESTIONNAIRE
_INTERVENTION_CONCOURS].TYPE_INTERVENANT)="RESSBBAF")))) AND
((CONCOURS_BOURSE.ANNEE_CONCOURS)=2006));
Voici le message d'erreur que j'ai tout le temps:
Vous avez écrit une sous-requête pouvant renvoyer plus d'un champ sans
utiliser le mot réservé EXISTS dans la clause FROM de la requête principale.
Révisez l'instruction SELECT de la sous-requête pour obtenir un suel champ!
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Raymond [mvp]
Bonsoir.
tu ne peux indiquer qu'un seul champ dans la clause not in. une telle requête qui fonctionne, donne en simplifiant: SELECT table1.Numero, table1.Madate FROM table1 WHERE (table1.Numero Not In (SELECT DISTINCT table2.numero FROM table2 WHERE table1.madate = table2.madate));
à voir et à tester -- @+ Raymond Access MVP http://OfficeSystem.Access.free.fr/ Pour débuter sur le forum: http://www.mpfa.info/ Nouvelle base Access des communes françaises avec longitude, latitude et 13246 sites internet officiels http://ardecheearth.free.fr/basededonnees.htm
"lapaloma" a écrit dans le message de news: | Je tente d'utiliser une sous-requête sans succès avec l'option not exists. | Access ne reconnaît que le mot Exists. J'ai tenté ma requête en utilisant Pas | In mais sans succès. | | Voici les tables sur lesquelles je veux faire ma requête: | Table A Concours_Bourses (Sélection de tous les concours où l'année 2006) | Table B Gestionnaire_Intervention_Concours (table intermédiaire entre | Gesionnaire et Concours_Bourse) (sert à déterminer les intervention effectués | par des gestionnaires sur les concours) | | Voici ce que je veux faire: | | Je veux obtenir tous les concours sur lesquels il n'y a aucune intervention | d'effectuée pour un Type_Intervenant = "RESSBBAF" | | Voici la requête que tente de faire fonctionner: | | SELECT CONCOURS_BOURSE.SeqUnikConcoursBourse, | CONCOURS_BOURSE.ANNEE_CONCOURS, CONCOURS_BOURSE.NUMERO_CONCOURS | FROM CONCOURS_BOURSE | WHERE (((CONCOURS_BOURSE.SeqUnikConcoursBourse) Not In (SELECT DISTINCT | [GESTIONNAIRE _INTERVENTION_CONCOURS].SeqUnikConcoursBourse, [GESTIONNAIRE | _INTERVENTION_CONCOURS].SEQUENCE_BOURSE, [GESTIONNAIRE | _INTERVENTION_CONCOURS].NUMERO_VERSION, [GESTIONNAIRE | _INTERVENTION_CONCOURS].ANNEE_CONCOURS, [GESTIONNAIRE | _INTERVENTION_CONCOURS].NUMERO_CONCOURS, [GESTIONNAIRE | _INTERVENTION_CONCOURS].CODE_INTERVENANT, [GESTIONNAIRE | _INTERVENTION_CONCOURS].TYPE_INTERVENANT, [GESTIONNAIRE | _INTERVENTION_CONCOURS].NUMERO_DOSSIER, [GESTIONNAIRE | _INTERVENTION_CONCOURS].NUMERO_UNITE | FROM [GESTIONNAIRE _INTERVENTION_CONCOURS] | WHERE ((([GESTIONNAIRE | _INTERVENTION_CONCOURS].TYPE_INTERVENANT)="RESSBBAF")))) AND | ((CONCOURS_BOURSE.ANNEE_CONCOURS) 06)); | | Voici le message d'erreur que j'ai tout le temps: | | Vous avez écrit une sous-requête pouvant renvoyer plus d'un champ sans | utiliser le mot réservé EXISTS dans la clause FROM de la requête principale. | Révisez l'instruction SELECT de la sous-requête pour obtenir un suel champ! | | Est-ce que quelqu'un peut m'aider???? Help! | | Nathalie
Bonsoir.
tu ne peux indiquer qu'un seul champ dans la clause not in.
une telle requête qui fonctionne, donne en simplifiant:
SELECT table1.Numero, table1.Madate FROM table1
WHERE (table1.Numero Not In (SELECT DISTINCT table2.numero
FROM table2
WHERE table1.madate = table2.madate));
à voir et à tester
--
@+
Raymond Access MVP http://OfficeSystem.Access.free.fr/
Pour débuter sur le forum: http://www.mpfa.info/
Nouvelle base Access des communes françaises avec
longitude, latitude et 13246 sites internet officiels
http://ardecheearth.free.fr/basededonnees.htm
"lapaloma" <lapaloma@discussions.microsoft.com> a écrit dans le message de
news: FF1D4B72-BC78-4733-8F80-7EE03CEDEFAC@microsoft.com...
| Je tente d'utiliser une sous-requête sans succès avec l'option not exists.
| Access ne reconnaît que le mot Exists. J'ai tenté ma requête en utilisant
Pas
| In mais sans succès.
|
| Voici les tables sur lesquelles je veux faire ma requête:
| Table A Concours_Bourses (Sélection de tous les concours où l'année 2006)
| Table B Gestionnaire_Intervention_Concours (table intermédiaire entre
| Gesionnaire et Concours_Bourse) (sert à déterminer les intervention
effectués
| par des gestionnaires sur les concours)
|
| Voici ce que je veux faire:
|
| Je veux obtenir tous les concours sur lesquels il n'y a aucune
intervention
| d'effectuée pour un Type_Intervenant = "RESSBBAF"
|
| Voici la requête que tente de faire fonctionner:
|
| SELECT CONCOURS_BOURSE.SeqUnikConcoursBourse,
| CONCOURS_BOURSE.ANNEE_CONCOURS, CONCOURS_BOURSE.NUMERO_CONCOURS
| FROM CONCOURS_BOURSE
| WHERE (((CONCOURS_BOURSE.SeqUnikConcoursBourse) Not In (SELECT DISTINCT
| [GESTIONNAIRE _INTERVENTION_CONCOURS].SeqUnikConcoursBourse, [GESTIONNAIRE
| _INTERVENTION_CONCOURS].SEQUENCE_BOURSE, [GESTIONNAIRE
| _INTERVENTION_CONCOURS].NUMERO_VERSION, [GESTIONNAIRE
| _INTERVENTION_CONCOURS].ANNEE_CONCOURS, [GESTIONNAIRE
| _INTERVENTION_CONCOURS].NUMERO_CONCOURS, [GESTIONNAIRE
| _INTERVENTION_CONCOURS].CODE_INTERVENANT, [GESTIONNAIRE
| _INTERVENTION_CONCOURS].TYPE_INTERVENANT, [GESTIONNAIRE
| _INTERVENTION_CONCOURS].NUMERO_DOSSIER, [GESTIONNAIRE
| _INTERVENTION_CONCOURS].NUMERO_UNITE
| FROM [GESTIONNAIRE _INTERVENTION_CONCOURS]
| WHERE ((([GESTIONNAIRE
| _INTERVENTION_CONCOURS].TYPE_INTERVENANT)="RESSBBAF")))) AND
| ((CONCOURS_BOURSE.ANNEE_CONCOURS) 06));
|
| Voici le message d'erreur que j'ai tout le temps:
|
| Vous avez écrit une sous-requête pouvant renvoyer plus d'un champ sans
| utiliser le mot réservé EXISTS dans la clause FROM de la requête
principale.
| Révisez l'instruction SELECT de la sous-requête pour obtenir un suel
champ!
|
| Est-ce que quelqu'un peut m'aider???? Help!
|
| Nathalie
tu ne peux indiquer qu'un seul champ dans la clause not in. une telle requête qui fonctionne, donne en simplifiant: SELECT table1.Numero, table1.Madate FROM table1 WHERE (table1.Numero Not In (SELECT DISTINCT table2.numero FROM table2 WHERE table1.madate = table2.madate));
à voir et à tester -- @+ Raymond Access MVP http://OfficeSystem.Access.free.fr/ Pour débuter sur le forum: http://www.mpfa.info/ Nouvelle base Access des communes françaises avec longitude, latitude et 13246 sites internet officiels http://ardecheearth.free.fr/basededonnees.htm
"lapaloma" a écrit dans le message de news: | Je tente d'utiliser une sous-requête sans succès avec l'option not exists. | Access ne reconnaît que le mot Exists. J'ai tenté ma requête en utilisant Pas | In mais sans succès. | | Voici les tables sur lesquelles je veux faire ma requête: | Table A Concours_Bourses (Sélection de tous les concours où l'année 2006) | Table B Gestionnaire_Intervention_Concours (table intermédiaire entre | Gesionnaire et Concours_Bourse) (sert à déterminer les intervention effectués | par des gestionnaires sur les concours) | | Voici ce que je veux faire: | | Je veux obtenir tous les concours sur lesquels il n'y a aucune intervention | d'effectuée pour un Type_Intervenant = "RESSBBAF" | | Voici la requête que tente de faire fonctionner: | | SELECT CONCOURS_BOURSE.SeqUnikConcoursBourse, | CONCOURS_BOURSE.ANNEE_CONCOURS, CONCOURS_BOURSE.NUMERO_CONCOURS | FROM CONCOURS_BOURSE | WHERE (((CONCOURS_BOURSE.SeqUnikConcoursBourse) Not In (SELECT DISTINCT | [GESTIONNAIRE _INTERVENTION_CONCOURS].SeqUnikConcoursBourse, [GESTIONNAIRE | _INTERVENTION_CONCOURS].SEQUENCE_BOURSE, [GESTIONNAIRE | _INTERVENTION_CONCOURS].NUMERO_VERSION, [GESTIONNAIRE | _INTERVENTION_CONCOURS].ANNEE_CONCOURS, [GESTIONNAIRE | _INTERVENTION_CONCOURS].NUMERO_CONCOURS, [GESTIONNAIRE | _INTERVENTION_CONCOURS].CODE_INTERVENANT, [GESTIONNAIRE | _INTERVENTION_CONCOURS].TYPE_INTERVENANT, [GESTIONNAIRE | _INTERVENTION_CONCOURS].NUMERO_DOSSIER, [GESTIONNAIRE | _INTERVENTION_CONCOURS].NUMERO_UNITE | FROM [GESTIONNAIRE _INTERVENTION_CONCOURS] | WHERE ((([GESTIONNAIRE | _INTERVENTION_CONCOURS].TYPE_INTERVENANT)="RESSBBAF")))) AND | ((CONCOURS_BOURSE.ANNEE_CONCOURS) 06)); | | Voici le message d'erreur que j'ai tout le temps: | | Vous avez écrit une sous-requête pouvant renvoyer plus d'un champ sans | utiliser le mot réservé EXISTS dans la clause FROM de la requête principale. | Révisez l'instruction SELECT de la sous-requête pour obtenir un suel champ! | | Est-ce que quelqu'un peut m'aider???? Help! | | Nathalie