{Access} regroupement de requête

Fermé
mimicland - 6 janv. 2010 à 16:58
moiced59 Messages postés 1145 Date d'inscription samedi 15 novembre 2008 Statut Membre Dernière intervention 18 août 2014 - 6 janv. 2010 à 20:57
Bonjour,

je bloque sur un petit problème :

La première requête " lundi " me donne ceci :

Nom ; achat ; lundi€
Michel ; frites ; 2€
michel ; bonbons ; 7€
michel ; gateaux ; 5€

la deuxième requête" mardi " me donne cela :

Nom ; achat ; mardi€
Michel ; frites ; 2€
michel ; bonbons ; 7€
michel ; coca ; 1€
michel ; patisserie ; 4€

je voudrais arriver à ce résultat :

Nom; achat; lundi€;mardi€
Michel ; frites ; 2€ ;2€
michel ; bonbons ; 7€ ; 7€
michel ; gateaux ; 5€ ; 0€
michel ; coca ; 0€ ; 1€
michel ; patisserie ; 0€ ; 4€

En utilisant juste les jointures, je ne peux pas faire de regroupement...

Je ne sais plus vraiment ou chercher et je ne gère pas le MSQL donc me voila bloqué ...

Si quelqu'un a une petite idée celle-ci me serait fortement utiles

Merci d'avance pour vos réponses

15 réponses

moiced59 Messages postés 1145 Date d'inscription samedi 15 novembre 2008 Statut Membre Dernière intervention 18 août 2014 60
6 janv. 2010 à 17:18
bonjour
quel sont t 2 requetes?
0
La première requête " lundi " me donne ceci :

Nom ; achat ; lundi€
Michel ; frites ; 2€
michel ; bonbons ; 7€
michel ; gateaux ; 5€

la deuxième requête" mardi " me donne cela :

Nom ; achat ; mardi€
Michel ; frites ; 2€
michel ; bonbons ; 7€
michel ; coca ; 1€
michel ; patisserie ; 4€

ces 2 requête arrivent tout droit de 2 tables " lundi " et " mardi " dans celle-ci j'ai plusieurs Nom d'enfant avec différents achat effectués soit lundi ou mardi en fonction des tables.

ensuite j'ai pris un critère de selection " michel " et il me donne les 2 requête au dessus.

je ne sais pas si j'ai répondu à ta question, si c'est pas le cas pourrais-tu la préciser un peu plus.

Merci pour ta réponse
0
moiced59 Messages postés 1145 Date d'inscription samedi 15 novembre 2008 Statut Membre Dernière intervention 18 août 2014 60
6 janv. 2010 à 17:33
re

Je voulais dire t requete au format SQL
0
voila la 1er requête lundii

SELECT lundi.nom, lundi.achat, lundi.lundi€
FROM lundi
WHERE (((lundi.nom)="michel"));

et voila mardii

SELECT mardi.nom, mardi.achat, mardi.mardi€
FROM mardi
WHERE (((mardi.nom)="michel"));

c'est du basic mais bon ...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
moiced59 Messages postés 1145 Date d'inscription samedi 15 novembre 2008 Statut Membre Dernière intervention 18 août 2014 60
6 janv. 2010 à 17:42
ok fais une seule requete com ca


SELECT lundi.nom, lundi.achat, lundi.lundi€
FROM lundi
WHERE (((lundi.nom)="michel"))

union all

SELECT mardi.nom, mardi.achat, mardi.mardi€
FROM mardi
WHERE (((mardi.nom)="michel"));
0
j'arrive a ça :

Nom; achat; lundi€
Michel ; frites ; 2€
michel ; bonbons ; 7€
michel ; gateaux ; 5€
michel ; coca ; 1€
michel ; patisserie ; 4€

il ne me prend plus en compte les 2 jours
0
moiced59 Messages postés 1145 Date d'inscription samedi 15 novembre 2008 Statut Membre Dernière intervention 18 août 2014 60
6 janv. 2010 à 17:59
re

SELECT lundi.nom, lundi.prenom, lundi.lund£i, mardi.mardi£
FROM lundi INNER JOIN mardi ON (lundi.nom = mardi.nom)
GROUP BY lundi.nom, lundi.prenom, lundi.lundi£, mardi.mardi£;


voila g testé ca marche
adapte juste bien les nom a tes champs
0
je nage ...

j'ai remis l'ensemble des noms mais quand ça veut pas ...

j'ai repris la même forme que toi mais il me donne un tableau avec 3 référence d'achat et non pas les 5 que j'espère.

je vais méditer dessus, si ça marche pour toi il n'y a pas de raison.

par contre si tu as le temps, pour le moment moi ça ne fonctionne pas avec ça :

SELECT lundi.nom, lundi.achat, lundi.lundi€, mardi.mardi€
FROM lundi INNER JOIN mardi ON (lundi.nom = mardi.nom)
GROUP BY lundi.nom, lundi.achat, lundi.lundi€, mardi.mardi€;

sachant que pour le moment ça ne me parle pas du tout le mode SQL, je faire de l'apprentissage.

Merci pour ton aide
0
moiced59 Messages postés 1145 Date d'inscription samedi 15 novembre 2008 Statut Membre Dernière intervention 18 août 2014 60
6 janv. 2010 à 18:41
Je regarde ca de plus pres tout a leur
0
moiced59 Messages postés 1145 Date d'inscription samedi 15 novembre 2008 Statut Membre Dernière intervention 18 août 2014 60
6 janv. 2010 à 19:27
re

dc

SELECT lundi.nom, Sum(lundi.lundi) AS lundi, Sum(mardi.mardi) AS mardi
FROM lundi INNER JOIN mardi ON lundi.nom = mardi.nom
GROUP BY lundi.nom, mardi.nom;


Par contre si une personne ne commande pas le lundi mais qu elle commande le mardi elle ne s affichera pas

il faut que ds ta table lundi elle apparaisse qd meme avec comme commande rien
0
moiced59 Messages postés 1145 Date d'inscription samedi 15 novembre 2008 Statut Membre Dernière intervention 18 août 2014 60
6 janv. 2010 à 19:37
ma table lundi:
N° nom lundi
3 dupond 3
5 durand 10
6 duchemol 100
7 biloute

ma table mardi

N° nom mardi
3 dupond 8
4 durand 11
7 duchemol 15
8 biloute 1000

la requete:


SELECT lundi.nom, Sum(lundi.lundi) AS lundi, Sum(mardi.mardi) AS mardi
FROM lundi INNER JOIN mardi ON lundi.nom = mardi.nom
GROUP BY lundi.nom, mardi.nom;

le resultat
nom lundi mardi
biloute 1000
duchemol 100 15
dupond 3 8
durand 10 11
0
re

donc oui je suis d'accord sur le principe mais maintenant il faut imaginer le même type avec 11000 clients qui on le choix avec 20000 articles pour une quantité de 68000 lignes à peu prés donc les clients n'achete pas les même article l'année que l'année N-1 et je peux pas retaper l'ensemble des produits pour chaque client.

C'étais juste un exemple pour pouvoir l'appliquer ...

voila l'étendu de mon problème.

donc je veux faire une comparaison entre l'année et N-1 sachant que j'ai aps forcement les mêmes articles en année N et N-1 pour le même client.

je sais pas si ca peu t'aider a comprendre mon problème.

et je pense qu'il doit avoir moyen de regrouper les achats ( pour reprendre l'exemple ) en une seule colonne mais bon ...
0
moiced59 Messages postés 1145 Date d'inscription samedi 15 novembre 2008 Statut Membre Dernière intervention 18 août 2014 60
6 janv. 2010 à 20:34
il te suffit de rajouter les group by que tu veux t achats......

peu importe le nombre tu fais un group by sur t nom un group by sur t achat et une somme sur le montant ca donnera:

dupond chemise 100
dupond pantalon 50
dubois chemise 30
dupond chemise 30


requete

dupond chemise 130
dubois chemise 30
dupond pantalon 50
0
ok !

je verrais ca le plus rapidement possible, je prend note de tout et je bidouillerais avec les group by dans se cas la

si problème, je reviendrai faire un petit tour ici.

merci bien ;)
0
moiced59 Messages postés 1145 Date d'inscription samedi 15 novembre 2008 Statut Membre Dernière intervention 18 août 2014 60
6 janv. 2010 à 20:57
pas de souci je garde le poste ds mes alertes
0