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 17/12/2011, 19h53   #1
Nouveau Membre du Club
 
Inscription : juin 2005
Messages : 356
Détails du profil
Informations forums :
Inscription : juin 2005
Messages : 356
Points : 36
Points : 36
Par défaut Requête trop compliquée

Bonjour à tous,
j'ai un problème que je n'arrive pas à résoudre.
j'ai 2 tables constituées comme dans l'image jointe.
j'ai besoin de créer une requête que me fasse le listing nom + prénom des clients qui n'ont pas fait d'achats depuis 6 mois (à la date de l'ouverture de la requête)
Sachant que chaque client peut avoir fait plusieurs achats il faut déterminer quel est l'achat le plus récent et s'il est inférieur ou supérieur à 6 mois.
je ne sais même pas par où commencer..!!
Merci par avance pour votre aide..
Paul
PAUL87 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/12/2011, 20h43   #2
Rédacteur/Modérateur
 
Avatar de User
 
Homme Denis
Développeur informatique
Inscription : août 2004
Messages : 3 206
Détails du profil
Informations personnelles :
Nom : Homme Denis
Âge : 42
Localisation : France

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : août 2004
Messages : 3 206
Points : 5 256
Points : 5 256
Salut,

Il faut une requête regroupement avec un critère du style :

Code :
Having Max([Date_Achat])<=DateAdd("m",-6,Date())
A+
__________________
Merci de ne pas poster sur mon profil pour des problèmes techniques. Pour celà vous pouvez utiliser le forum ou m'envoyer un mp.

Bon développement !


Mes tutoriels et contributions sur ma page perso:
Ma page personnelle
User est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/12/2011, 21h56   #3
Nouveau Membre du Club
 
Inscription : juin 2005
Messages : 356
Détails du profil
Informations forums :
Inscription : juin 2005
Messages : 356
Points : 36
Points : 36
je me rends compte que j'avais oublié la pièce jointe qui montre la composition des tables.
Images attachées
Type de fichier : jpg Tables.jpg (12,6 Ko, 4 affichages)
PAUL87 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/12/2011, 23h04   #4
Rédacteur/Modérateur
 
Avatar de User
 
Homme Denis
Développeur informatique
Inscription : août 2004
Messages : 3 206
Détails du profil
Informations personnelles :
Nom : Homme Denis
Âge : 42
Localisation : France

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : août 2004
Messages : 3 206
Points : 5 256
Points : 5 256
Re,

Essaie ça:

Code sql :
1
2
3
4
SELECT Clients.Id_Client, Clients.Nom, Clients.Prénom, Max(Ventes.DateV) AS MaxDeDateV
FROM Clients INNER JOIN Ventes ON Clients.Id_Client = Ventes.Id_Client
GROUP BY Clients.Id_Client, Clients.Nom, Clients.Prénom
HAVING Max(Ventes.DateV)<=DateAdd("m",-6,Date());

A+
__________________
Merci de ne pas poster sur mon profil pour des problèmes techniques. Pour celà vous pouvez utiliser le forum ou m'envoyer un mp.

Bon développement !


Mes tutoriels et contributions sur ma page perso:
Ma page personnelle
User est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/12/2011, 13h45   #5
Nouveau Membre du Club
 
Inscription : juin 2005
Messages : 356
Détails du profil
Informations forums :
Inscription : juin 2005
Messages : 356
Points : 36
Points : 36
Bonjour,
et merci à toi User
ça fonctionne à la perfection.
...je n'aurais surement pas trouvé tout seul.
mes notions de requêtes sont trop faible..!!!

si j'osais, j'aurais encore besoin d'un coup de pouce,
j'aurais besoin du listing (nom/prénon) des clients inscrits dans la table "clients" mais qui n'ont jamais encore fait d'achats, c'est à dire qui n’apparaissent pas dans la table vente en tant que Id_client

là encore je ne sais comment faire...
Merci ++
PAUL87 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/12/2011, 14h42   #6
Rédacteur/Modérateur
 
Avatar de User
 
Homme Denis
Développeur informatique
Inscription : août 2004
Messages : 3 206
Détails du profil
Informations personnelles :
Nom : Homme Denis
Âge : 42
Localisation : France

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : août 2004
Messages : 3 206
Points : 5 256
Points : 5 256
Salut,

Je n'ai pas testé mais essaie :

Code sql :
1
2
3
SELECT Clients.Id_Client, Clients.Nom, Clients.Prénom
FROM Clients LEFT JOIN Ventes ON Clients.Id_Client = Ventes.Id_Client
WHERE IsNull(Ventes.DateV);

A+
__________________
Merci de ne pas poster sur mon profil pour des problèmes techniques. Pour celà vous pouvez utiliser le forum ou m'envoyer un mp.

Bon développement !


Mes tutoriels et contributions sur ma page perso:
Ma page personnelle
User est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/12/2011, 15h43   #7
Nouveau Membre du Club
 
Inscription : juin 2005
Messages : 356
Détails du profil
Informations forums :
Inscription : juin 2005
Messages : 356
Points : 36
Points : 36
Re
grand Merci..!!
là encore je n'y serais pas parvenu...!!
Merci +++
PAUL87 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 19h56.


 
 
 
 
Partenaires

Hébergement Web