|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Chef de projet en SSII Inscription : mai 2011 Messages : 1 ![]() |
Bonjour,
J'essaie de faire une requête qui fasse intervenir 2 fois la même table, mais avec des champs et des critères différents. J'ai beaucoup cherché, mais je n'ai pas trouvé exactement mon cas et ça fait bien longtemps que je n'ai plus pratiqué SQL. Je vous fais un exemple (je précise tout de suite que je ne peux pas intervenir sur la structure des tables) : Table client : No : identifiant Nom : nom du client Table mouvements : ID : identifiant No de client : pointe sur le champ No de la table client Type : 2 valeurs possible, vente ou achat Coût : valeur dans le cas d'un achat Prix : valeur dans le cas d'un prix Mon problème est le suivant : les champs coût et prix contiennent toujours une valeur, et dans le cas d'un mouvement de type vente, je ne dois tenir compte que du prix, et dans le cas d'un mouvement de type achat, je ne dois tenir compte que du coût J'aimerais obtenir quelque chose comme ça No client Nom du client total des achats total des ventes 1 Client A 1490 1600 2 Client B 900 1150 En partant des tables suivantes : Client No Nom 1 Client A 2 Client B Mouvements ID No de client Type Coût Prix 100 1 Achat 1200 34 101 1 Achat 290 16 102 1 Vente 300 1600 103 2 Achat 900 870 104 2 Vente 340 500 105 2 Vente 1100 650 Je me perds dans les jointures. J'arrive bien à avoir mes coûts d'achats par une requete en joignant mouvement et client, j'arrive bien à avoir mes prix de vente, mais pas les deux en même temps. Merci d'avoir tout lu, et merci de votre aide. Arnaud |
|
|
00
|
|
|
#2 | ||||
|
Membre émérite
![]() Olivier DehorterIngenieur de recherche - Ecologue Inscription : juin 2003 Messages : 697 ![]() |
bonjour
tu peux utiliser soit le CASE soit le UNION Code :
Code :
|
||||
|
|
00
|
|
|
#3 | ||
|
Membre Expert
![]() Inscription : août 2008 Messages : 1 271 ![]() |
Oui il faut utiliser CASE couplé avec la fonction d'aggrégation SUM en l'occurence.
Code :
|
||
|
|
00
|
|
|
#4 | |
|
Membre émérite
![]() Olivier DehorterIngenieur de recherche - Ecologue Inscription : juin 2003 Messages : 697 ![]() |
skuatamad
tu as raison, j'avais fait abstraction de Citation:
a+ |
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com