DCount, DMin ou DSum avec une jointure

Le
Isa
Bonjour,

Je me demande si c'est possible d'utiliser DMin par exemple sur plusieurs
tables en même temps. Par exemple, je veux trouver la 1ère commande (la date
de commande la + petite) du client nommé "Dupont" (Donc on a besoin d'accéder
à 2 tables : Commande et Client).
Comment puis-je faire ?
D'avance merci.

Isa.
Questions / Réponses high-tech
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
3stone
Le #20088501
Salut,

Isa wrote:
Je me demande si c'est possible d'utiliser DMin par exemple sur
plusieurs tables en même temps. Par exemple, je veux trouver la 1ère
commande (la date de commande la + petite) du client nommé "Dupont"
(Donc on a besoin d'accéder à 2 tables : Commande et Client).
Comment puis-je faire ?




La série des DCount, DMin etc. sont des fonctions de domaine...
et le domaine peut être une table, mais aussi une requête.

Donc, tu crées une requête qui te rend ce que tu souhaites
et tu utilises une des fonctions pour récupérer le champ.

--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
MPFA: http://www.mpfa.info/ (infos générales)
Michel__D
Le #20088731
Bonjour,

Isa a écrit :
Bonjour,

Je me demande si c'est possible d'utiliser DMin par exemple sur plusieurs
tables en même temps. Par exemple, je veux trouver la 1ère commande (la date
de commande la + petite) du client nommé "Dupont" (Donc on a besoin d'accéder
à 2 tables : Commande et Client).
Comment puis-je faire ?
D'avance merci.

Isa.



Tu peux aussi faire autrement, essaye ce qui suit (en mode SQL) :

SELECT T1.* T2.nom
FROM Commande AS T1 INNER JOIN Client AS T2 ON T1.IdClient = T2.IdClient
WHERE T2.nom Like 'Dupont' And
T1.DateCommande = (SELECT TOP 1 DateCommande FROM Commande ORDER BY DateCommande);
Isa
Le #20093191
Merci pour vos solutions.
Dernière question : y a-t-il un moyen de faire un DISTINCT dans un DCOUNT ?
Merci.

"Michel__D" wrote:

Bonjour,

Isa a écrit :
> Bonjour,
>
> Je me demande si c'est possible d'utiliser DMin par exemple sur plusieurs
> tables en même temps. Par exemple, je veux trouver la 1ère commande (la date
> de commande la + petite) du client nommé "Dupont" (Donc on a besoin d'accéder
> à 2 tables : Commande et Client).
> Comment puis-je faire ?
> D'avance merci.
>
> Isa.

Tu peux aussi faire autrement, essaye ce qui suit (en mode SQL) :

SELECT T1.* T2.nom
FROM Commande AS T1 INNER JOIN Client AS T2 ON T1.IdClient = T2.IdClient
WHERE T2.nom Like 'Dupont' And
T1.DateCommande = (SELECT TOP 1 DateCommande FROM Commande ORDER BY DateCommande);



Isa
Le #20093221
Je vais préciser ma demande :
Je souhaite savoir combien de clients ont passé au moins une commande ?
Donc j'ai besoin d'un COUNT et d'un DISTINCT mais je n'arrive pas à gérer ma
requête SQL et je ne sais pas si c'est possible de le faire dans un DCOUNT.
Merci.

"Isa" wrote:

Merci pour vos solutions.
Dernière question : y a-t-il un moyen de faire un DISTINCT dans un DCOUNT ?
Merci.

"Michel__D" wrote:

> Bonjour,
>
> Isa a écrit :
> > Bonjour,
> >
> > Je me demande si c'est possible d'utiliser DMin par exemple sur plusieurs
> > tables en même temps. Par exemple, je veux trouver la 1ère commande (la date
> > de commande la + petite) du client nommé "Dupont" (Donc on a besoin d'accéder
> > à 2 tables : Commande et Client).
> > Comment puis-je faire ?
> > D'avance merci.
> >
> > Isa.
>
> Tu peux aussi faire autrement, essaye ce qui suit (en mode SQL) :
>
> SELECT T1.* T2.nom
> FROM Commande AS T1 INNER JOIN Client AS T2 ON T1.IdClient = T2.IdClient
> WHERE T2.nom Like 'Dupont' And
> T1.DateCommande = (SELECT TOP 1 DateCommande FROM Commande ORDER BY DateCommande);
>


Michel__D
Le #20096091
Bonjour,

Isa a écrit :
Je vais préciser ma demande :
Je souhaite savoir combien de clients ont passé au moins une commande ?
Donc j'ai besoin d'un COUNT et d'un DISTINCT mais je n'arrive pas à gérer ma
requête SQL et je ne sais pas si c'est possible de le faire dans un DCOUNT.
Merci.



Essaye comme ceci, à adapter (mode SQL) :

SELECT T2.Nom, Count(T1.IdCommande) AS NbCommande
FROM Commande AS T1 INNER JOIN Client AS T2 ON T1.IdClient = T2.IdClient
WHERE T1.IdClient IN (SELECT DISTINCT IdClient FROM Commande)
GROUP BY T2.Nom
ORDER BY T2.Nom;


"Isa" wrote:

Merci pour vos solutions.
Dernière question : y a-t-il un moyen de faire un DISTINCT dans un DCOUNT ?
Merci.

"Michel__D" wrote:

Bonjour,

Isa a écrit :
Bonjour,

Je me demande si c'est possible d'utiliser DMin par exemple sur plusieurs
tables en même temps. Par exemple, je veux trouver la 1ère commande (la date
de commande la + petite) du client nommé "Dupont" (Donc on a besoin d'accéder
à 2 tables : Commande et Client).
Comment puis-je faire ?
D'avance merci.

Isa.


Tu peux aussi faire autrement, essaye ce qui suit (en mode SQL) :

SELECT T1.* T2.nom
FROM Commande AS T1 INNER JOIN Client AS T2 ON T1.IdClient = T2.IdClient
WHERE T2.nom Like 'Dupont' And
T1.DateCommande = (SELECT TOP 1 DateCommande FROM Commande ORDER BY DateCommande);







Publicité
Poster une réponse
Anonyme