Table champs calculés

devba77 Messages postés 22 Date d'inscription samedi 22 avril 2006 Statut Membre Dernière intervention 20 août 2006 - 2 mai 2006 à 18:18
devba77 Messages postés 22 Date d'inscription samedi 22 avril 2006 Statut Membre Dernière intervention 20 août 2006 - 3 mai 2006 à 14:33
Bonjour,
j'ai une table qui regroupe des identifiants avec des valeurs:
tableC
Idcouleur|Idvoiture|Idperiode|Valeur
1| 4| 1| 16
1| 4| 3| 15
1| 43| 1| 789
1| 43| 3| 90
2| 4| 1| 10
2| 4| 3| 25
2| 43| 1| 80
2| 43| 3| 20


Je voudrai créer une nouvelle table en faisant des champs calculés de la table ci-dessus


voici ce que j'aimerai obtenir:

IdCouleurRes |ValRougePrintemps
1 |Valeur(Idcouleur=1 et Idperiode=1) + Valeur(Idcouleur=2 et Idperiode=3)


Comment puis-je faire cela ???

Merci à tous pour votre aide

4 réponses

cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
2 mai 2006 à 19:28
Salut
Tout (ou presque) est faisable.
Ta demande n'est pas claire :
1  |Valeur(Idcouleur=1 et Idperiode=1) + Valeur(Idcouleur=2 et Idperiode=3)
Est-ce que ça veut dire que tu prends comme conditions les termes entre parenthèses ?

Réexplique ce que tu veux faire en français :
Donne un exemple que ce que (pour toi) devrait donner "Valeur(Idcouleur=1 et Idperiode=1)"

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Champion du monde de boule de cristal - 2005
Le savoir est la seule matière qui s'accro
0
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
2 mai 2006 à 19:30
Précise nous aussi dans quel langage tu veux faire ça (VB6, VB.Net ou VBA de Access, Word et Excel)
0
devba77 Messages postés 22 Date d'inscription samedi 22 avril 2006 Statut Membre Dernière intervention 20 août 2006
3 mai 2006 à 11:43
Salut, dsl pour les oublis, je vais essayé d'âtre plus clair.
J'avais essayé de prendre un exemple plus simple mais en fait, il paraît plus complexe...
JE SUIS SUR ACCESS

ALors voici mon pb:

J'ai actuellement la table suivante:

DataComptables

IdIndicateur|IdFiliale|Code|IdPeriode|Annee|Valeur
1 |4|Cod1|1|2005|15
1 |4|Cod1|3|2005|20
1 |43| Cod2|1|2005|25
1 |43 |Cod2|3|2005|75

2 |4|Cod1|1|2005|30
2 |4|Cod1|3|2005|45
2 |43|Cod2|1|2005|90
2 |43|Cod2|3|2005|10


J'aimerai obtenir la table suivante:

NouvelIndicateur|IdFiliale|Code|IdPeriode|Annee|Valeur
3|4|Cod1|1|2005|45(15+30)
3|4|Cod1|3|2005|65(20+45)
3|43|Cod2|1|2005|115(25+90)
3|43 |Cod2|3|2005|85(75+10)

J'espère que vous pourrez m'aider,

D'avance merci...
0
devba77 Messages postés 22 Date d'inscription samedi 22 avril 2006 Statut Membre Dernière intervention 20 août 2006
3 mai 2006 à 14:33
J'ai réussi à résoudre mon pb avec la requête suivante:

SELECT IdFiliale,Code,IdPeriode,Annee,SUM(valeur)
FROM DataComptables
WHERE IdIndicateur IN (1,2)
GROUP BY IdFiliale,Code,IdPeriode,Annee;

j'ai encore le pb suivant qui se présente à moi:

je dois additionner 2 indicateurs comme dans la requête du dessus mais je dois aussi en soustraire....

Ex (je sais que la syntaxe est incorrect mais c'est afin de mieux faire comprendre...)

SELECT IdFiliale,Code,IdPeriode,Annee,SUM(valeur)
FROM DataComptables
WHERE IdIndicateur IN (1,2) - (3,4) -> sous-entendu (1+2) - (3+4)
GROUP BY IdFiliale,Code,IdPeriode,Annee;

Comme pourrait-on arranger la requête ?

merci
0
Rejoignez-nous