Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Différence en SQL de 2 requêtes

10 réponses
Avatar
Eric VIDAL
Bonjour,
Est-ce possible de faire en SQL sur (Access 2000) la différence de ces deux
requêtes ? Car j'ai trouvé le moyen avec left join etc... mais les exemples
ne comportaient pas de conditions.

SELECT ADHERENT.ID_ADHERENT FROM STATUT INNER JOIN ADHERENT ON
STATUT.ID_STATUT = ADHERENT.REF_STATUT WHERE (STATUT.COTISE=True)

SELECT COTISE.REF_ADHERENT From COTISE Where (COTISE.REF_MONTANTCOT = 10))

Si vous avez une idée, je suis preneur.
Merci d'avance.

10 réponses

Avatar
Jessy Sempere [MVP]
Bonjour

Que veux-tu dire par "différence" ???
Que veux-tu faire exactement ?

Pourquoi ne pas faire une requête avec les tables, statut, adhérent, cotise,
tu fais les liens qui vont bien et tu mets tes 2 critères.

PS : Si Ref_Adherent correspond à Id_Adherent, tu peux peut-être te passer
de
la table Statut, en fait, si l'adhérent à un montant dans la table cotise,
c'est que
forcément, il cotise...

--
@+
Jessy Sempere - Access MVP

------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"Eric VIDAL" a écrit dans le message news:
41ac329b$0$16325$
Bonjour,
Est-ce possible de faire en SQL sur (Access 2000) la différence de ces
deux

requêtes ? Car j'ai trouvé le moyen avec left join etc... mais les
exemples

ne comportaient pas de conditions.

SELECT ADHERENT.ID_ADHERENT FROM STATUT INNER JOIN ADHERENT ON
STATUT.ID_STATUT = ADHERENT.REF_STATUT WHERE (STATUT.COTISE=True)

SELECT COTISE.REF_ADHERENT From COTISE Where (COTISE.REF_MONTANTCOT = 10))

Si vous avez une idée, je suis preneur.
Merci d'avance.




Avatar
Eric VIDAL
Le résultat de ma 1ère requête est pour les adhérents devant payer la
cotisation ex :
1, 2, 4, 5, 10
et la seconde, les adhérents ayant déjà cotiser pour l'année en cours ex :
1, 4

et le résultat que je cherche à avoir est :
2, 5, 10 donc c'est bien la différence entre les deux requêtes. Je sais
qu'en SQL2 on fait avec le mot clef EXCEPT mais sous access, je n'ai aucune
idée.

Et si j'utilise ta méthode, je vais trouver les doublons (que je ne veux
pas) genre le 1 et le 4 !
Suis-je plus clair ?


"Jessy Sempere [MVP]" a écrit dans le message de
news: 41ac33f8$
Bonjour

Que veux-tu dire par "différence" ???
Que veux-tu faire exactement ?

Pourquoi ne pas faire une requête avec les tables, statut, adhérent,
cotise,

tu fais les liens qui vont bien et tu mets tes 2 critères.

PS : Si Ref_Adherent correspond à Id_Adherent, tu peux peut-être te passer
de
la table Statut, en fait, si l'adhérent à un montant dans la table cotise,
c'est que
forcément, il cotise...

--
@+
Jessy Sempere - Access MVP

------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"Eric VIDAL" a écrit dans le message news:
41ac329b$0$16325$
Bonjour,
Est-ce possible de faire en SQL sur (Access 2000) la différence de ces
deux

requêtes ? Car j'ai trouvé le moyen avec left join etc... mais les
exemples

ne comportaient pas de conditions.

SELECT ADHERENT.ID_ADHERENT FROM STATUT INNER JOIN ADHERENT ON
STATUT.ID_STATUT = ADHERENT.REF_STATUT WHERE (STATUT.COTISE=True)

SELECT COTISE.REF_ADHERENT From COTISE Where (COTISE.REF_MONTANTCOT 10))

Si vous avez une idée, je suis preneur.
Merci d'avance.








Avatar
Eric
Bonjour Eric,

Au vu des résultats renvoyés par tes requêtes , je mettrai une sous
requête dans la 1ere, ce qui donnerait :

SELECT ADHERENT.ID_ADHERENT FROM STATUT INNER JOIN ADHERENT ON
STATUT.ID_STATUT = ADHERENT.REF_STATUT WHERE STATUT.COTISE=True
and ADHERENT.ID_ADHERENT not IN(SELECT COTISE.REF_ADHERENT From COTISE
Where (COTISE.REF_MONTANTCOT);

Par ce biais tu devrais récupérer les n° : 2, 5, 10

Ok ?

A+
Eric


"Eric VIDAL" écrivait
news:41ac4e15$0$28008$:

Le résultat de ma 1ère requête est pour les adhérents devant payer la
cotisation ex :
1, 2, 4, 5, 10
et la seconde, les adhérents ayant déjà cotiser pour l'année en cours
ex :
1, 4

et le résultat que je cherche à avoir est :
2, 5, 10 donc c'est bien la différence entre les deux requêtes. Je
sais qu'en SQL2 on fait avec le mot clef EXCEPT mais sous access, je
n'ai aucune idée.

Et si j'utilise ta méthode, je vais trouver les doublons (que je ne
veux pas) genre le 1 et le 4 !
Suis-je plus clair ?


"Jessy Sempere [MVP]" a écrit dans le
message de news: 41ac33f8$
Bonjour

Que veux-tu dire par "différence" ???
Que veux-tu faire exactement ?

Pourquoi ne pas faire une requête avec les tables, statut, adhérent,
cotise,

tu fais les liens qui vont bien et tu mets tes 2 critères.

PS : Si Ref_Adherent correspond à Id_Adherent, tu peux peut-être te
passer de
la table Statut, en fait, si l'adhérent à un montant dans la table
cotise, c'est que
forcément, il cotise...

--
@+
Jessy Sempere - Access MVP

------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"Eric VIDAL" a écrit dans le message news:
41ac329b$0$16325$
Bonjour,
Est-ce possible de faire en SQL sur (Access 2000) la différence de
ces
deux

requêtes ? Car j'ai trouvé le moyen avec left join etc... mais les
exemples

ne comportaient pas de conditions.

SELECT ADHERENT.ID_ADHERENT FROM STATUT INNER JOIN ADHERENT ON
STATUT.ID_STATUT = ADHERENT.REF_STATUT WHERE (STATUT.COTISE=True)

SELECT COTISE.REF_ADHERENT From COTISE Where (COTISE.REF_MONTANTCOT
=
10))



Si vous avez une idée, je suis preneur.
Merci d'avance.













Avatar
Eric
re,
il y a une ( de trop devant COTISE.REF_MONTANTCOT

donc ca devient :
and ADHERENT.ID_ADHERENT not IN(SELECT COTISE.REF_ADHERENT From COTISE
Where COTISE.REF_MONTANTCOT);

A+
Eric

Eric écrivait
news::

Bonjour Eric,

Au vu des résultats renvoyés par tes requêtes , je mettrai une sous
requête dans la 1ere, ce qui donnerait :

SELECT ADHERENT.ID_ADHERENT FROM STATUT INNER JOIN ADHERENT ON
STATUT.ID_STATUT = ADHERENT.REF_STATUT WHERE STATUT.COTISE=True
and ADHERENT.ID_ADHERENT not IN(SELECT COTISE.REF_ADHERENT From COTISE
Where (COTISE.REF_MONTANTCOT);

Par ce biais tu devrais récupérer les n° : 2, 5, 10

Ok ?

A+
Eric


"Eric VIDAL" écrivait
news:41ac4e15$0$28008$:

Le résultat de ma 1ère requête est pour les adhérents devant payer la
cotisation ex :
1, 2, 4, 5, 10
et la seconde, les adhérents ayant déjà cotiser pour l'année en cours
ex :
1, 4

et le résultat que je cherche à avoir est :
2, 5, 10 donc c'est bien la différence entre les deux requêtes. Je
sais qu'en SQL2 on fait avec le mot clef EXCEPT mais sous access, je
n'ai aucune idée.

Et si j'utilise ta méthode, je vais trouver les doublons (que je ne
veux pas) genre le 1 et le 4 !
Suis-je plus clair ?


"Jessy Sempere [MVP]" a écrit dans le
message de news: 41ac33f8$
Bonjour

Que veux-tu dire par "différence" ???
Que veux-tu faire exactement ?

Pourquoi ne pas faire une requête avec les tables, statut, adhérent,
cotise, tu fais les liens qui vont bien et tu mets tes 2 critères.

PS : Si Ref_Adherent correspond à Id_Adherent, tu peux peut-être te
passer de
la table Statut, en fait, si l'adhérent à un montant dans la table
cotise, c'est que
forcément, il cotise...

--
@+
Jessy Sempere - Access MVP
------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous : http://users.skynet.be/mpfa/
------------------------------------
"Eric VIDAL" a écrit dans le message news:
41ac329b$0$16325$
Bonjour,
Est-ce possible de faire en SQL sur (Access 2000) la différence de
ces deux requêtes ? Car j'ai trouvé le moyen avec left join etc...
mais les exemples ne comportaient pas de conditions.

SELECT ADHERENT.ID_ADHERENT FROM STATUT INNER JOIN ADHERENT ON
STATUT.ID_STATUT = ADHERENT.REF_STATUT WHERE (STATUT.COTISE=True)

SELECT COTISE.REF_ADHERENT From COTISE Where (COTISE.REF_MONTANTCOT
= 10))

Si vous avez une idée, je suis preneur.
Merci d'avance.

















Avatar
Eric VIDAL
Eric,
Je viens de tester ta solution, et ca marche impecc.
Un grand merci à toi !
Za++
Avatar
Eric
Bonjour Eric,

C'était avec plaisir ;-)
Merci pour le retour d'info.

A+
Eric

"Eric VIDAL" écrivait news:41adccde$0$8087$8fcfb975
@news.wanadoo.fr:

Eric,
Je viens de tester ta solution, et ca marche impecc.
Un grand merci à toi !
Za++





Avatar
Pierre CFI [mvp]
là, tu triches, tu te pose une question, tu te réponds et tu te félicite puis tu te remercie !o))) méme 3stone-le-filou n'a pas osé
:o))

--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B

Site pour bien commencer
Access http://users.skynet.be/mpfa/
Excel http://www.excelabo.net
Site perso
http://access.cfi.free.fr
"Eric" a écrit dans le message de news:
Bonjour Eric,

C'était avec plaisir ;-)
Merci pour le retour d'info.

A+
Eric

"Eric VIDAL" écrivait news:41adccde$0$8087$8fcfb975
@news.wanadoo.fr:

Eric,
Je viens de tester ta solution, et ca marche impecc.
Un grand merci à toi !
Za++








Avatar
Eric
Bonjour Pierre,

Ben oui !!!, sinon personne répond à mes posts
Comment fais-je pour remonter dans les stats ?
Bon, je le reconnais humblement, je te prends un peu d'avance pour le mois
de décembre mais vu ta grande forme, je vais devoir courir après toi :
Pierre CFI : 1 - Eric* : 7
;-)

A+
Eric

* : le patronyme ne compte pas o))

"Pierre CFI [mvp]" écrivait :

là, tu triches, tu te pose une question, tu te réponds et tu te
félicite puis tu te remercie !o))) méme 3stone-le-filou n'a pas osé
:o))



Avatar
Pierre CFI [mvp]
pas facile avec raymond-le-quid-qui-écris-plus-vite-que-je-pense :o))

--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B

Site pour bien commencer
Access http://users.skynet.be/mpfa/
Excel http://www.excelabo.net
Site perso
http://access.cfi.free.fr
"Eric" a écrit dans le message de news:
Bonjour Pierre,

Ben oui !!!, sinon personne répond à mes posts
Comment fais-je pour remonter dans les stats ?
Bon, je le reconnais humblement, je te prends un peu d'avance pour le mois
de décembre mais vu ta grande forme, je vais devoir courir après toi :
Pierre CFI : 1 - Eric* : 7
;-)

A+
Eric

* : le patronyme ne compte pas o))

"Pierre CFI [mvp]" écrivait :

là, tu triches, tu te pose une question, tu te réponds et tu te
félicite puis tu te remercie !o))) méme 3stone-le-filou n'a pas osé
:o))






Avatar
Raymond [mvp]
et qui en plus n'envoie que des messages pertinents et non des messages de
compteur; attention le renouvellement approche.

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Pierre CFI [mvp]" a écrit dans le message de
news: %
pas facile avec raymond-le-quid-qui-écris-plus-vite-que-je-pense :o))

--
Pierre CFI